On 8/16/06, Junio C Hamano <junkio@xxxxxxx> wrote:
"Marco Costalba" <mcostalba@xxxxxxxxx> writes: > It seems that -C option of git-diff-tree it works only if the whole > changeset is retrieved. Correct (sort of). Pathspec works on the input side not on the output side. It's been specified and worked that way from the beginning (check the list archive to see me arguing that it would be easier to use on the output side, and Linus vetoing because following a single file is not that interesting and the cost outweighs the benefit of that uninteresting case). Always feeding the whole tree is wasteful, but if we are interested in following a single file, we could do something like: - follow that file and that file only from the recent to past; - notice when that file disappears -- that is the point the file was created. it may have created from scratch, it may have been renamed or copied. - on that commit that creates the file, look at the whole tree to see if we can find an origin. - if we find that the file was created by renaming or copying another, keep following that other file from that point on.
Yes, I was thinking about something like this, Thanks for point me out this, now I am quite sure it's the correct way to go ;-) Marco P.S: The first thing will be to teach qgit about renames and copies, i.e. diff-tree with -C option. I'm cooking a patch on this. BTW, regarding copies, there are only 6 (6973dca, 8752d11, 927a503, 2276aa6, ddafa7e9 and 7ef7692) in git tree, against 181 renames. - 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