Code

Extended SHA1 -- "rev^@" syntax to mean "all parents"
authorJunio C Hamano <junkio@cox.net>
Sun, 30 Apr 2006 07:54:29 +0000 (00:54 -0700)
committerJunio C Hamano <junkio@cox.net>
Mon, 1 May 2006 00:55:33 +0000 (17:55 -0700)
commitea4a19e172e8db52779c06723b1e99cc12f228c9
tree3c562dd0f4458c1a079bef6be333f2fe8a804547
parent66ae0c7702e68765dad17aa05c5d9255d999216c
Extended SHA1 -- "rev^@" syntax to mean "all parents"

A short-hand "rev^@" is understood to be "all parents of the
named commit" with this patch.  So you can do

git show v1.0.0^@

to view the parents of a merge commit,

gitk ^v1.0.0^@ v1.0.4

to view the log between two revs (including the bottom one), and

git diff --cc v1.1.0 v1.0.0^@

to inspect what got changed from the merge parents of v1.0.0 to v1.1.0.

This might be just my shiny new toy that is not very useful in
practice.  I needed it to do the multi-tree diff on Len's
infamous 12-way Octopus; typing "diff --cc funmerge funmerge^1
funmerge^2 funmerge^3 ..." was too painful.

[jc: taking suggestions from Linus and Johannes to match expectations
from shell users who are used to see $@ or $* either of which makes
sense.  I tend to write "$@" more often so...]

Signed-off-by: Junio C Hamano <junkio@cox.net>
revision.c