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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html