Code

Introduce notation "ref^{type}".
authorJunio C Hamano <junkio@cox.net>
Fri, 14 Oct 2005 01:57:40 +0000 (18:57 -0700)
committerJunio C Hamano <junkio@cox.net>
Sat, 15 Oct 2005 18:23:40 +0000 (11:23 -0700)
commit5385f52da80be0d01fda45be586eb186c2be83ee
tree631b2396995353f2682599d7f780180add76a3bf
parent1a7141ff28e217312da4b289127875905c6ec479
Introduce notation "ref^{type}".

Existing "tagname^0" notation means "dereference tag zero or more
times until you cannot dereference it anymore, and make sure it is a
commit -- otherwise barf".  But tags do not necessarily reference
commit objects.

This commit introduces a bit more generalized notation, "ref^{type}".
Existing "ref^0" is a shorthand for "ref^{commit}".  If the type
is empty, it just dereferences tags until it hits a non-tag object.

With this, "git-rev-parse --verify 'junio-gpg-pub^{}'" shows the blob
object name -- there is no need to manually read the tag object and
find out the object name anymore.

"git-rev-parse --verify 'HEAD^{tree}'" can be used to find out the
tree object name of the HEAD commit.

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