Re: [PATCH v2] blame: avoid checking if a file exists on the working tree if a revision is provided
From: Stefan Beller <hidden>
Date: 2016-06-15 23:07:16
On Tue, Nov 17, 2015 at 2:48 PM, Jeff King [off-list ref] wrote:
On Tue, Nov 17, 2015 at 12:11:25AM -0500, Eric Sunshine wrote:quoted
quoted
blame content even if the path provided does match an existing blob on said revision.git-blame documentation does not advertise "blame <file> <rev>" as a valid invocation. It does advertise "blame <rev> -- <file>", and this case already works correctly even when <file> does not exist in the worktree.Hmm. Out of curiosity I tried: git blame v2.4.0 -- t/t6031-merge-recursive.sh and it segfaults. This bisects to Max's recent 1b0d400 (blame: extract find_single_final, 2015-10-30), but I do not see anything obviously wrong with it from a quick glance.
it did not fail when running through gdb, so I conclude it is a memory issue (like using an uninitialized pointer, or memory allocation too small). valgrind produces: ==18444== Process terminating with default action of signal 11 (SIGSEGV) ==18444== General Protection Fault ==18444== at 0x4032121: strcmp (valgrind/memcheck/mc_replace_strmem.c:725) ==18444== by 0x41A86F: get_origin (/usr/local/google/home/sbeller/OSS/git/builtin/blame.c:483) ==18444== by 0x4201EF: cmd_blame (/usr/local/google/home/sbeller/OSS/git/builtin/blame.c:2763) ==18444== by 0x405896: run_builtin (/usr/local/google/home/sbeller/OSS/git/git.c:350) ==18444== by 0x405AA4: handle_builtin (/usr/local/google/home/sbeller/OSS/git/git.c:536) ==18444== by 0x405BC0: run_argv (/usr/local/google/home/sbeller/OSS/git/git.c:582) ==18444== by 0x405DB8: main (/usr/local/google/home/sbeller/OSS/git/git.c:690) ==18444==
-Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html