GIT conversion: question about tags & release branches

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


On 09/01/2020 11:57, Richard Earnshaw (lists) wrote:
> On 09/01/2020 11:45, Martin Jambor wrote:
>> Hi,
>>
>> On Thu, Jan 09 2020, 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
>>>
>>
>> I use the release tags every now and then so this caught my attention
>> but I do not understand what the problem is?
>>
>> In the gcc-reposurgeon-7a conversion, there is a tag called
>> gcc_9_2_0_release:
>>
>> mjambor@virgil:/space/mjambor/gcc/newconv/gcc-reposurgeon-7a.git$ git 
>> log -1 gcc_9_2_0_release
>> commit 56bc3061f168c39a85117d4daefc2d5c0e4edb91 (tag: gcc_9_2_0_release)
>> 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
>>
>> Even when I query the commit directly, it shows it is tagged:
>>
>> mjambor@virgil:/space/mjambor/gcc/newconv/gcc-reposurgeon-7a.git$ git 
>> log -1 56bc3061f168c39a85117d4daefc2d5c0e4edb91
>> commit 56bc3061f168c39a85117d4daefc2d5c0e4edb91 (tag: gcc_9_2_0_release)
>> 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
>>
>>
>> in gcc-reposurgeon-7b it is called releases/gcc-9.2.0
>>
>> commit 56bc3061f168c39a85117d4daefc2d5c0e4edb91 (tag: releases/gcc-9.2.0)
>> 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
>>
>> It seems that reposurgeon conversion has a commit representing the
>> revision r274275 whereas git mirror does not, but that does not seem to
>> be too bad?
>>
>>> 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?
>>
>> Thinking about it, assuming the reposurgeon is the way to go, did we
>> decide whether it's going to be the a or b variant?  I like the tags in
>> the B version better, but it does not seem to have all the branches, I
>> mean:
>>
>> mjambor@virgil:/space/mjambor/gcc/newconv/gcc-reposurgeon-7a.git$ git 
>> branch | wc -l
>> 536
>>
>> mjambor@virgil:/space/mjambor/gcc/newconv/gcc-reposurgeon-7b.git$ git 
>> branch | wc -l
>> 38
>>
>>
>> I did clone both with --mirror.
>>
>> Thanks,
>>
>> Martin
>>
>>
> 
> The branches are in there, but they're in a namespace which means GIT 
> does not list them by default.
> 
> If you run
> 
> git for-each-ref --format='%(refname)'
> 
> On a mirror clone you'll see all the various tags and branches that are 
> really there.
> 
> We'll add documentation on how to get these 'private' branches/tags into 
> a normal clone - normally it will involve adding another 'fetch' rule to 
> your configuration.
> 
> 
> R.
git for-each-ref --format='%(refname)'|grep heads|grep -v deleted|wc -l
536

So they're all there.

R.



More information about the Gcc mailing list