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

Re: Am able to delete a file with no trace in the log

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:54

Linus Torvalds [off-list ref] writes:
For example, right now there is _no_ way to get even a "show diff relative 
to first parent". You can do "-m", which will show it relative to _both_ 
parents, but nobody ever wants that. And you can do "-c" or "--cc", but 
that simplifies away all the paths that match in one. 
Actually for that "Where did my file 'x' go across the merge chain", I was
going to suggest something like

	git log --simplify-merges -m --raw -- x
So here's a challenge: in the git repository, get a nice view of what your 
merges looked like. The closest I can get is

	git log -c --stat --grep="Merge branch '"

which is actually very non-intuitive ("-c" on its own gives no useful 
output, but "-c --stat" gives nice diffstat against the first parent, 
which in this case is what we want).
I think the logical place to hook that into is the --first-parent option.

I actually have very hard resisted so far the temptation to do so because
your mantra has always been "in a merge, all parents are equal."  If you
treat the first parent specially too heavily, it would go against the "I
got a pull request from you, but the resulting conflicts are too much for
me; you know the area much better than I do, so could you do the merge for
me and I'll fast forward to you later" workflow.  The "first parent is the
mainline" and "I am important, so I'll merge with --no-ff to pee in the
snow" mentality problems will become worse.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help