git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: anatoly techtonik <techtonik@gmail.com>
To: "Randall S. Becker" <rsbecker@nexbridge.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org,
	Igor Djordjevic <igor.d.djordjevic@gmail.com>
Subject: Re: Re: Unify annotated and non-annotated tags
Date: Fri, 24 Nov 2017 12:52:02 +0300	[thread overview]
Message-ID: <CAPkN8xJBWRs-2DxViBACLKzAbD1_EBA2MvmWVZmWgL+Sg72znw@mail.gmail.com> (raw)
In-Reply-To: <003c01d3646c$df78fc50$9e6af4f0$@nexbridge.com>

On Thu, Nov 23, 2017 at 6:08 PM, Randall S. Becker
<rsbecker@nexbridge.com> wrote:
> On 2017-11-23 02:31 (GMT-05:00) anatoly techtonik wrote
>>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.

Are there any windows for backward compatibility breaks, or git is
doomed to preserve it forever?
Automation without support won't survive for long, and people who rely
on that, like Chromium team, usually hard set the version used.
-- 
anatoly t.

  parent reply	other threads:[~2017-11-24  9:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <201711231458.vANEwUMK048049@elephants.elehost.com>
2017-11-23 15:08 ` Re: Unify annotated and non-annotated tags Randall S. Becker
2017-11-23 21:24   ` Thomas Braun
2017-11-24  9:52   ` anatoly techtonik [this message]
2017-11-24 10:24     ` Ævar Arnfjörð Bjarmason
2017-12-02 21:26       ` anatoly techtonik
2017-12-02 22:25         ` Philip Oakley
2017-12-23 13:41           ` anatoly techtonik
2017-12-24 12:31             ` Philip Oakley
2017-12-03  5:54         ` Junio C Hamano
2017-11-24 14:11     ` Randall S. Becker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPkN8xJBWRs-2DxViBACLKzAbD1_EBA2MvmWVZmWgL+Sg72znw@mail.gmail.com \
    --to=techtonik@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=igor.d.djordjevic@gmail.com \
    --cc=rsbecker@nexbridge.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).