On 09/01/2020 09:44, Martin Liška wrote:
Hi.

I have question about release branches and release tags. For the current
git mirror, we do have release tags living on release branches. Example:

commit 64e1a4df1bc9dbf4cedb3a842c4eaff6b3425a66
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Aug 12 08:40:24 2019 +0000

             * BASE-VER: Set to 9.2.1.
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@274276 138bc75d-0d04-0410-961f-82ee72b054a4

commit 3e7b85061947bdc7c7465743ba90734566860821 (tag: gcc-9_2_0-release) <- THE TAG
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Aug 12 07:38:49 2019 +0000

     Update ChangeLog and version files for release
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@274274 138bc75d-0d04-0410-961f-82ee72b054a4

commit fc3f35e10b6ca627727d71c74fd5e76785226200
Author: gccadmin <gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Aug 12 00:16:21 2019 +0000

     Daily bump.
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@274271 138bc75d-0d04-0410-961f-82ee72b054a4

while the reposurgeon git has:

commit a9044428b313402507aa047a17e6ea10f63b2b8b
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Mon Aug 12 10:40:24 2019 +0200

     * BASE-VER: Set to 9.2.1.
     From-SVN: r274276

commit d46878c3cce3be8f6c8878be8af326adecbb8ec6  <- THE TAG IS MISSING HERE
Author: Jakub Jelinek <ja...@gcc.gnu.org>
Date:   Mon Aug 12 09:38:49 2019 +0200

     Update ChangeLog and version files for release
     From-SVN: r274274

That's when I do git log parent/gcc-9-branch (git log origin/releases/gcc-9 respectively).
And git log releases/gcc-9.2.0:

commit 56bc3061f168c39a85117d4daefc2d5c0e4edb91 (tag: releases/gcc-9.2.0)  <- THE TAG
Author: Jakub Jelinek <ja...@gcc.gnu.org>
Date:   Mon Aug 12 09:38:59 2019 +0200

     Tagging source as tags/gcc_9_2_0_release
     From-SVN: r274275

commit d46878c3cce3be8f6c8878be8af326adecbb8ec6
Author: Jakub Jelinek <ja...@gcc.gnu.org>
Date:   Mon Aug 12 09:38:49 2019 +0200

     Update ChangeLog and version files for release
     From-SVN: r274274

I see it useful to have the release tags on release branches.
Thoughts?
Martin

SVN makes tags using copy operations. By default this tends to result in the copies hanging off the side of the main branch and so the tags are not in a particularly git-friendly location. Reposurgeon has code now to try to spot this and collapse them back to the branch revision they were copied from. I think Joseph's next candidate conversion should show this fixed.

However, some CVS-era tags cannot be fixed up in this way because of slight differences in the content between the branch and the tag (tagging was not an atomic operation and race conditions meant that changes were being made to the repo while the tag was taking place). For those cases the tag will always be on a side branch.

Anyway, please check Joseph's next candidate to see if this shows what you expect -- I think it should be out later today.

R.

Reply via email to