Jeff King [off-list ref] writes:
On Thu, Mar 28, 2013 at 04:34:19PM +0100, Michael Haggerty wrote:
quoted
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?