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

Re: Git log follow question

From: Jeff King <hidden>
Date: 2016-06-15 22:48:48

On Fri, May 14, 2010 at 10:57:34AM +1000, Albert Krawczyk wrote:
I'm having an issue understanding the way git log --follow works with git
log --parents

When I run
git log --parents --pretty=format:Commit:%H%nParent:%P%n%n alloc.c
I get:
Commit:4b25d091ba53c758fae0096b8c0662371857b9d9
Parent:100c5f3b0b27ec6617de1a785c4ff481e92636c1

[...]

When I try to run git log --parents --follow I get this:
git log --parents --follow --pretty=format:Commit:%H%nParent:%P%n%n alloc.c

Commit:4b25d091ba53c758fae0096b8c0662371857b9d9
Parent:75b44066f3ed7cde238cdea1f0bf9e2f1744c820
Hmm. The actual parent is 75b44066. You get 100c5f in the first case
because basic revision path-limiting simplifies the history graph to
remove uninteresting commits (and rewrites the parents).

So the answer isn't _wrong_ exactly, but it is less useful. Seeing the
simplified graph is generally what we want. This is a limitation of the
way --follow is implemented. It turns off history pruning because our
list of what to prune will be changing over time.

Probably we would have to special-case the FOLLOW_RENAMES code to
rewrite the parent list before display.

I'm cc'ing Linus, who has more of a clue in both of those areas than I
do.

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