Re: Bug in "git rev-parse --verify"
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 28, 2013, 16:52 UTC
- Message-ID
- <7vli97v558.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20130328153808.GB3337@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 12 quoted lines
> On Thu, Mar 28, 2013 at 04:34:19PM +0100, Michael Haggerty wrote: > >> Is there a simple way to verify an object name more strictly and convert >> it to an SHA1? I can only think of solutions that require two commands, >> like >> >> git cat-file -e $ARG && git rev-parse --verify $ARG > > Is the rev-parse line doing anything there? If $ARG does not resolve to > a sha1, then wouldn't cat-file have failed? > > -Peff
You could force rev-parse to resolve the input to an existing object, with something like this:
git rev-parse --verify "$ARG^{}"It will unwrap a tag, so the output may end up pointing at a object that is different from $ARG in such a case.
But what is the purpose of turning a random string to a random 40-hex in the first place?