Re: Users of git-check-files?
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Aug 3, 2005, 18:00 UTC
- Message-ID
- <Pine.LNX.4.58.0508031055090.3258@g5.osdl.org>
- In-Reply-To
- <Pine.LNX.4.63.0508031618500.23728@wgmdd8.biozentrum.uni-wuerzburg.de>
On Wed, 3 Aug 2005, Johannes Schindelin wrote:
> > I try to write a "git annotate" based on the output of git-whatchanged.
You can't. It's fundamentally not doable, because you lose the merge information.
So you need to use a combination of git-rev-list _and_ git-whatchanged.
Use the "--parents" flag to git-rev-list to get the parents output for doing your own graph, if you want to.
I have been thinking of adding a "follow this file" mode to git-rev-list, which just ignores all children of merges that used the file directly from one of the other children. Exactly because then you could have a git-rev-list that prunes based on filename, and would potentially be a lot more efficient (not follow the "uninteresting" side of a merge).
I haven't gotten around to it, partly because I wonder if it would be better as a separate program - even if that would mean that you'd lose all the cool features of git-rev-list (the ability to limit it to certain versions, and the ability to sort the output in relevant orders).
Partly because I'm just too friggin lazy.
> P.S.: My only unsolved problem is that git-whatchanged sometimes shows > the diffs in the wrong order (clock-skew problem?)
Nope, this is a direct result of two branches modifying the same file in parallel. There is no "right" or "wrong" order.
Linus