GIT conversion: question about tags & release branches

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Thu Jan 9 10:51:00 GMT 2020


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 <jakub@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 <jakub@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 <jakub@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 <jakub@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.



More information about the Gcc mailing list