Junio, I think your patch is fine as a band-aid, but I wonder if we shouldn't just move the "setup_git_directory()" call out of init_revisions(), and pass it as an argument to init_revision(). Some of the callers have already done setup_git_directory() earlier for their own reasons anyway. And from a quick look it looks like you missed the same bug happening in cmd_format_patch(), which calls git_config(git_format_config) before having done the setup. I'd actually _like_ to do the setup unconditionally inside the git wrapper (early - to make sure that we don't have this bug), but some things (at least "init-db", "clone" and "ls-remote") are obviously not supposed to do it, since they work outside of a git directory. So either we need to do it in each builtin command separately, or we'd need to add a flag in the command descriptor array. Any clever ideas? Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html