Thread (6 messages) flat view 6 messages, 3 authors, 2016-06-15

Re: git log omits deleting merges

From: Philip Oakley <hidden>
Date: 2016-06-15 23:00:24

From: "Jeff King" <redacted>
On Thu, Feb 20, 2014 at 08:35:33AM +0100, Ephrim Khong wrote:
quoted
Hi, git log seems to omit merge commits that delete a file
if --follow or
--diff-filter=D is given. Below is a testcase. I'm not sure if it is
desired
behaviour for --diff-filter=D, but it's probably not correct
that --follow
_removes_ the merge commit from the log output.
This is by design. Git-log does not calculate or show merge diffs
unless
"-c" or "--cc" is specified, and thus no diff-filter can match.
This is hard to discern from the log(1) man page as this conflates
commit inclusion (limiting?) with the diff formatting.

The -c and -cc options are listed in the diff formatting section, but
that's well down the man page. Even then, the note for the options 
doesn't say that it will cause the log output to now include the merge 
commits.

Perhaps the -c and -cc options should also be noted in the options or
the commit limiting section, but exactly where is probably contentious 
(maybe under the --merges).

(or I may have misunderstood)
quoted
echo "log 1 - no output"
# note that --diff-filter=A and M work as expected
# the merge does not show up for --diff-filter=ACDMRTUXB either
git log --pretty=oneline --diff-filter=D -- some_file
Try:

 git log -c --diff-filter=D -- some_file

which does show it.

-Peff
--
Philip
-- 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help