With this patch, if commit-id is passed a git tag, it will check to see if the tag points to a commit. If it does, commit-id will return that commit's id. I'm not sure if this is the proper place to handle git tags, but it does make things like "cg-diff -r v2.6.12-rc2:v2.6.12-rc3" work in the Linus kernel tree. I've not noticed any problems this introduces, but I didn't do a thorough check. Signed-Off-By: Alexander Beyn <malex-git@fatelectrons.org> Index: commit-id =================================================================== --- 6a20fd05c468097d5a5a47cd37b41581c963cf63/commit-id (mode:100755 sha1:daf0ea1e35f1bee22eb4c4771495b2212d15f4e7) +++ 66fded2e9d931ecc8b03aa282a7eb9559955c172/commit-id (mode:100755 sha1:978c3ffeb072422436af7af1ad4a8de0e91c9632) @@ -32,7 +32,15 @@ exit 1 fi -if [ "$(git-cat-file -t "$id")" != "commit" ]; then +type="$(git-cat-file -t "$id")" + +if [ "$type" = "tag" ]; then + id=$(git-cat-file tag "$id" | egrep -m 1 "^object $SHA1") + id="${id#object }" + type="$(git-cat-file -t "$id")" +fi + +if [ "$type" != "commit" ]; then echo "Invalid id: $id" >&2 exit 1 fi - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Thu May 05 17:48:45 2005
This archive was generated by hypermail 2.1.8 : 2005-05-05 17:48:45 EST