Re: [PATCH 2/2] describe: Exclude --all --match=PATTERN
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:17
Greg Price [off-list ref] writes:
On Wed, Feb 27, 2013 at 12:20:07PM -0800, Junio C Hamano wrote:quoted
Without "--all" the command considers only the annotated tags to base the descripion on, and with "--all", a ref that is not annotated tags can be used as a base, but with a lower priority (if an annotated tag can describe a given commit, that tag is used). So naïvely I would expect "--all" and "--match" to base the description on refs that match the pattern without limiting the choice of base to annotated tags, and refs that do not match the given pattern should not appear even as the last resort. It appears to me that the current situation is (3).Hmm. It seems to me that "--all" says two things: (a) allow unannotated (rather than only annotated) (b) allow refs of any name (rather than only tags) With "--match", particularly because the pattern always refers only to tags, (b) is obliterated, and your proposed semantics are (a) plus a sort of inverse of (b): (c) allow only refs matching the pattern
I would think it is more like "only (a), without changing the documented semantics of what '--all' and '--match' are by adding (b) or (c)". I do not think in the longer term it is wrong per-se to change the semantics of "--match" from the documented "Only consider tags matching the pattern" to "Only consider refs matching the pattern", and such a change can and should be made as a separate patch "describe: loosen --match to allow any ref, not just tags" on top of the patch I sent which was meant to be bugfix-only.