On Tue, Jun 07, 2016 at 02:50:23PM -0700, Junio C Hamano wrote: > >> Or it could even do this: > >> > >> tag="$1" > >> if ! git tag -v "$tag" > >> if ! git tag -v "$tag" > >> then > >> echo >&2 "Bad tag." > >> exit 1 > >> fi > >> + tag=$(git tag --show-tagname $tag) > >> make dest=/usr/local/$package/$tag install > > > > It is racy. That probably doesn't matter for most callers, but it would > > be nice to be able to get a custom format out of the "-v" invocation. > > Heh, you can do > > - tag="$1" > + tag=$(git rev-parse --verify "$1") > > upfront and it no longer is racy, no? Yes, though that doesn't quite work today. The formatted output comes from "tag -l", which wants a refname. You can almost use "git show", but its format specifiers don't do tag parsing (they probably should). Likewise you can't use cat-file, as it doesn't do any intra-object parsing at all (which arguably it should). I'm still not sure I like the direction, simply because it requires 3 invocations of git to accomplish this task (which is inefficient in terms of processes, but also just means the interface is a bit tedious to work with; we could be making this easier for the caller). -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html