[PATCH] Make git log work for git CWD outside of work tree
- From
- Danny Sauer <danny@dannysauer.com>
- Date
- Apr 9, 2017, 02:21 UTC
- Message-ID
- <20170409022128.21337-1-danny@dannysauer.com>
Make git log's `--use-mailmap` argument works if the GIT_DIR & GIT_WORK_TREE env vars are set and git is run from outside of work tree. Without the NEED_WORK_TREE set on the log subcommand, .mailmap is silently not found.
Signed-off-by: Danny Sauer <danny@dannysauer.com> ---
Notes:
I'm not entirely sure if this is the best way to fix it, as my git
internals knowledge is pretty weak. But this /seems/ reasonable to me, and
passes all of the current test cases. If there's a more appropriate way to
make `--use-mailmap` work properly when `git log` is run outside of the
tree, I'd be excited about the opportunity to learn. :)git.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git.c b/git.c index 8ff44f0..e147f01 100644 --- a/git.c +++ b/git.c @@ -440,7 +440,7 @@ static struct cmd_struct commands[] = { { "init", cmd_init_db }, { "init-db", cmd_init_db }, { "interpret-trailers", cmd_interpret_trailers, RUN_SETUP_GENTLY }, - { "log", cmd_log, RUN_SETUP }, + { "log", cmd_log, RUN_SETUP | NEED_WORK_TREE }, { "ls-files", cmd_ls_files, RUN_SETUP | SUPPORT_SUPER_PREFIX }, { "ls-remote", cmd_ls_remote, RUN_SETUP_GENTLY }, { "ls-tree", cmd_ls_tree, RUN_SETUP },
-- 2.7.4