Re: Unify annotated and non-annotated tags
- From
anatoly techtonik <techtonik@gmail.com>
- Date
- Nov 23, 2017, 07:31 UTC
- Message-ID
- <CAPkN8xJU74N_kYL9f2v_vuk3C3omhYaz7uPMzbanEU=RTEPOYg@mail.gmail.com>
- In-Reply-To
- <xmqqh8u1efh5.fsf@gitster.mtv.corp.google.com>
On Sat, Nov 11, 2017 at 5:06 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 20 quoted lines
> 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.
-- anatoly t.