From: Linus Torvalds Date: Fri, 24 Jun 2005 17:32:13 GMT Subject: Re: rev-parse, unknown arguments and extended sha1's Message-ID: In-Reply-To: On Fri, 24 Jun 2005, Linus Torvalds wrote: > > Anyway, I think I'll make git-rev-parse have some option to "error out if > the result is anything but a single revision number", since this is really > the only reason for git-rev-parse in the first place: to make readable > scripts. How about something like rev=$(git-rev-parse --default HEAD --revs-only --verify "$@") || exit 1 which now should work correctly. In particular, the "--default" field is now expanded properly as a revision, instead of just output raw, so the "HEAD" actually gets translated into its SHA1 representation (and this also means that you can now use SHA1 expressions in "default", ie you don't need to do two git-rev-parse phases to do "--default HEAD^" etc). The "--verify" thing then checks that the end result isn't a revision argument (ie "--max-age=.." isn't accepted), and that there's exactly one revision in the result (ie no ranges or multiple revisions some other way). So now you shouldn't need to check the result any more. You know that if it worked, "rev" will be a nice SHA1 (of course, it might still be an _invalid_ SHA1, that's a different issue. But it's at least syntactically ok) Linus