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

RE: Re: Unify annotated and non-annotated tags

From
Randall S. Becker <rsbecker@nexbridge.com>
Date
Nov 23, 2017, 15:08 UTC
Message-ID
<003c01d3646c$df78fc50$9e6af4f0$@nexbridge.com>
In-Reply-To
<201711231458.vANEwUMK048049@elephants.elehost.com>
On 2017-11-23 02:31 (GMT-05:00) anatoly techtonik wrote
Show 28 quoted lines
>Subject: Re: Unify annotated and non-annotated tags 
>On Sat, Nov 11, 2017 at 5:06 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Igor Djordjevic <igor.d.djordjevic@gmail.com> writes:
>>
>>> If you would like to mimic output of "git show-ref", repeating
>>> commits for each tag pointing to it and showing full tag name as
>>> well, you could do something like this, for example:
>>>
>>>       for tag in $(git for-each-ref --format="%(refname)" refs/tags)
>>>       do
>>>               printf '%s %s\n' "$(git rev-parse $tag^0)" "$tag"
>>>       done
>>>
>>>
>>> Hope that helps a bit.
>>
>> If you use for-each-ref's --format option, you could do something
>> like (pardon a long line):
>>
>> git for-each-ref --format='%(if)%(*objectname)%(then)%(*objectname)%(else)%(objectname)%(end) %(refname)' refs/tags
>>
>> without any loop, I would think.
>Thanks. That helps.
>So my proposal is to get rid of non-annotated tags, so to get all
>tags with commits that they point to, one would use:
>git for-each-ref --format='%(*objectname) %(refname)' refs/tags>
>For so-called non-annotated tags just leave the message empty.
>I don't see why anyone would need non-annotated tags though.
I have seen non-annotated tags used in automations (not necessarily well written ones) that create tags as a record of automation activity. I am not sure we should be writing off the concept of unannotated tags entirely. This may cause breakage based on existing expectations of how tags work at present. My take is that tags should include whodunnit, even if it's just the version of the automation being used, but I don't always get to have my wishes fulfilled. In essence, whatever behaviour a non-annotated tag has now may need to be emulated in future even if reconciliation happens. An option to preserve empty tag compatibility with pre-2.16 behaviour, perhaps? Sadly, I cannot supply examples of this usage based on a human memory page-fault and NDAs.

Cheers, Randall

-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000) -- In my real life, I talk too much.

Next: Thomas Braun
Message 1 of 10 in “RE: Re: Unify annotated and non-annotated tags”
  1. Randall S. BeckerNov 23, 2017
  2. Thomas BraunNov 23, 2017
  3. anatoly techtonikNov 24, 2017
  4. Ævar Arnfjörð BjarmasonNov 24, 2017
  5. anatoly techtonikDec 2, 2017
  6. Philip OakleyDec 2, 2017
  7. anatoly techtonikDec 23, 2017
  8. Philip OakleyDec 24, 2017
  9. Junio C HamanoDec 3, 2017
  10. Randall S. BeckerNov 24, 2017

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.