Thread (7 messages) flat view 7 messages, 5 authors, 2016-06-15

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

From: Sitaram Chamarty <hidden>
Date: 2016-06-15 22:46:53

On Wed, Jun 3, 2009 at 3:25 AM, Linus Torvalds
[off-list ref] wrote:

On Tue, 2 Jun 2009, Jeff King wrote:
quoted
But it doesn't show up in "git log". I believe this is because the rule
for what to show in a merge commit is "if content is exactly the same as
one of the parents, it's not interesting".
Correct.

What happens is that "git log" with a filename will always simplify the
history to the side that matches. And yes, "matching" can and does include
"doesn't exist in child, doesn't exist in parent"

Now, I admit that in this case the matching heuristic is dubious, and
maybe we should consider "does not exist in result" to not match any
parent. We already think that "all new" is special ("REV_TREE_NEW" vs
"REV_TREE_DIFFERENT"), so maybe we should think that "all deleted" is also
special ("REV_TREE_DEL")
"git merge -s ours" would do precisely the same thing, wouldn't it?
That has happened to me before, and I noticed that git log does not
show the deletion, but rationalised it as being because I had
explicitly done a "-s ours".

Fixing this would fix that (maybe more common) case too, and show that
the merge commit removed the file.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help