git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Surprising 'git-describe --all --match' behavior.

From
SOSergei Organov <osv@javad.com>
Date
Jun 19, 2014, 18:58 UTC
Message-ID
<87d2e4d8w7.fsf@osv.gnss.ru>
In-Reply-To
<xmqqr42khl3l.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 31 quoted lines
> Sergei Organov <osv@javad.com> writes:
>
>> Just playing with it, got some surprises:
>>
>> $ git --version
>> git version 1.9.3
>>
>> $ git describe --all
>> heads/v3.5
>> $ git describe --all --match 'v*'
>> tags/v3.5.6b2-4-gab4bf78
>> $ git describe --all --match 'heads/v*'
>> fatal: No names found, cannot describe anything.
>
> I think
>
> $ git describe --help
>
>        ...
>        --match <pattern>
>            Only consider tags matching the given glob(7) pattern,
>            excluding the "refs/tags/" prefix. This can be used to
>            avoid leaking private tags from the repository.
>        ...
>
> is poorly phrased, especially its "excluding" part.  What it wants
> to say is "You give <pattern> but without refs/tags/, because the
> program helpfully always prepend refs/tags/ to your pattern and
> limit the output to those that match".  Hence you gave 'v*' as
> <pattern> and limited the output to those that match 'refs/tags/v*'
> (or you gave 'heads/v*' and limited to 'refs/tags/heads/v*').

OK, thanks, at least I now see how it works. So no <pattern> can ever match any reference but tag, even when --all switch is given? If so, appearance of --match effectively turns --all into --tags, that is still rather confusing, isn't it?

Will something break if it won't helpfully prepend refs/tags/ once --all is given?

-- 
Sergei.
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 6 in “Surprising 'git-describe --all --match' behavior.”
  1. Sergei OrganovJun 19, 2014
  2. Junio C HamanoJun 19, 2014
  3. Sergei OrganovJun 19, 2014
  4. Junio C HamanoJun 19, 2014
  5. Sergei OrganovJun 19, 2014
  6. Junio C HamanoJun 19, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.