Re: [PATCH 1/3] name-rev: fix assumption about --name-only usage
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:58:01
Ramkumar Ramachandra [off-list ref] 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?