blame: allow "blame file" in the middle of a conflicted merge
commit9aeaab6811dce596b4f6141d76f5300359bfd009
authorJunio C Hamano <gitster@pobox.com>
Tue, 11 Sep 2012 21:30:03 +0000 (11 14:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 11 Sep 2012 21:30:03 +0000 (11 14:30 -0700)
treecb2e3cd727dbb35eef5a422a8c6b540b1af476ac
parentffcabccf5df17f12997feedafefeb5589b8c0511
blame: allow "blame file" in the middle of a conflicted merge

"git blame file" has always meant "find the origin of each line of
the file in the history leading to HEAD, oh by the way, blame the
lines that are modified locally to the working tree".

This teaches "git blame" that during a conflicted merge, some
uncommitted changes may have come from the other history that is
being merged.

The verify_working_tree_path() function introduced in the previous
patch to notice a typo in the filename (primarily on case insensitive
filesystems) has been updated to allow a filename that does not exist
in HEAD (i.e. the tip of our history) as long as it exists one of the
commits being merged, so that a "we deleted, the other side modified"
case tracks the history of the file in the history of the other side.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/blame.c
t/t8004-blame-with-conflicts.sh