[PATCH 2/3] sh-setup: add new peel_committish() helper
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Jun 14, 2013, 13:17 UTC
- Message-ID
- <1371215872-9796-3-git-send-email-artagnon@gmail.com>
- In-Reply-To
- <1371215872-9796-1-git-send-email-artagnon@gmail.com>
The normal way to check whether a certain revision resolves to a valid commit is:
$ git rev-parse --verify $REV^0
Unfortunately, this does not work when $REV is of the type :/quuxery. Write a helper to work around this limitation.
Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> --- git-sh-setup.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 2f78359..7a964ad 100644 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -313,3 +313,15 @@ then } : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} fi + +peel_committish () { + case "$1" in + :/*) + peeltmp=$(git rev-parse --verify "$1") && + git rev-parse --verify "${peeltmp}^0" + ;; + *) + git rev-parse --verify "${1}^0" + ;; + esac +}
-- 1.8.3.1.381.g12ca056.dirty