From: Junio C Hamano Date: Sun, 07 Jul 2013 18:18:23 GMT Subject: Re: [PATCH 1/3] name-rev: fix assumption about --name-only usage Message-ID: <7v61wm44k0.fsf@alter.siamese.dyndns.org> In-Reply-To: <1373200996-9753-2-git-send-email-artagnon@gmail.com> Ramkumar Ramachandra writes: > 236157 (Teach git-describe how to run name-rev, 2007-05-21) introduced > `git name-rev --name-only`, with the intent of using it to implement > `git describe --contains`. According to the message, users wanted to > use describe to figure out which tags contains a specific commit. > name-rev already did this, but didn't print out in the same format as > describe: > > $ git describe v1.8.3~1 > v1.8.3-rc3-8-g5e49f30 > > ... As a result, while > > $ git describe --contains v1.8.3~1 > v1.8.3~1 The above two look consistent, yes. > > would get name-rev to print output in the same format as describe, > > $ git describe --contains --all v1.8.3~1 > tags/v1.8.3~1 > > would not strip the leading "tags/". If you _know_ v1.8.3 does not appear outside "tags/", this does look inconsistent, but I do not think the code checks it. Ahd if the code does not, I am not sure not stripping "tags/" is necessarily a bad thing, because "--all" allows names to come outside "tags/" hierarchy. Also how should this interact with v1.8.3-1-g98c5c4a that changed the rule somewhat so that the common prefix is stripped when we know the result is not ambiguous?