This is the mail archive of the
mailing list for the GCC project.
Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git
- From: Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jason Merrill <jason at redhat dot com>, Paolo Bonzini <pbonzini at redhat dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, Richard Biener <richard dot guenther at gmail dot com>, Martin Liška <mliska at suse dot cz>
- Date: Fri, 23 Aug 2019 09:04:21 +0300
- Subject: Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git
- References: <E8A06A10-5BBC-4C2F-9C09-D5413B98D2DC@linaro.org> <8C62F814-2F57-4D1A-B66F-5C5ACFF37D6C@linaro.org> <4E46E435-F95C-46AD-87F0-8220D2BF4CD4@linaro.org> <CADzB+2nTUSH+i-XzAavnL3BfZjXLm53d0e3JgPfKZi5X8ijA9g@mail.gmail.com> <BC4A0163-3A45-4C3D-AA79-5DCEB6BF524A@linaro.org> <7FA7C370-04F5-448E-95D2-426607B99CF4@linaro.org> <CADzB+2=B=Fv34nqt+D103YCQocBTsVs80CCNFHkv_4cJ0gKfWQ@mail.gmail.com> <846D2EF4-879F-4518-ABA5-7DD74E6B4F18@linaro.org> <C320B2E1-09C8-46EC-8AB6-AC044BB03BA9@linaro.org> <7835E1FD-DE75-4F0E-81E5-1B23CFBDD884@linaro.org>
> On Aug 6, 2019, at 12:32 PM, Maxim Kuvyrkov <firstname.lastname@example.org> wrote:
> I've setup uploads and updates of fully converted GCC history (all branches and all tags) in 3 flavors. These will be updated roughly hourly.
> 1. https://git-us.linaro.org/people/maxim-kuvyrkov/gcc-pretty.git/
> This is a fresh conversion from scratch with "pretty" authors.
> 2. https://git.linaro.org/people/maxim-kuvyrkov/gcc-mirror.git/
> This is a close match to current GCC mirror. Trunk and gcc-*-branch branches are imported from the mirror, and the rest is reconstructed starting from the imported branches.
> 3. https://git-us.linaro.org/people/maxim-kuvyrkov/gcc-raw.git/
> This is a fresh conversion from scratch with no author rewrites.
The conversion is now fully complete. The above 3 repositories all have complete and accurate  history of all branches and tags. SVN's /branches/* are converted to Git's refs/heads/*, and SVN's /tags/* are converted to Git's annotated tags refs/tags/*. SVN's /trunk is Git's refs/heads/master.
I propose that we switch to gcc-pretty.git repository, because it has accurate Committer and Author fields. Developer names and email addresses are extracted from source history, and accurately track people changing companies, email addresses, and names. IMO, it is more important for people to get credit for open-source contributions on github, ohloh, etc., than the inconvenience of rebasing local git branches. It's also an important marketing tool for open-source companies to show stats of their corporate email addresses appearing in git commit logs.
I also suggest that we don't wait for Cauldron to make plan on when and how to switch. I believe the big decisions should be made on the mailing list, and at Cauldron we can discuss finer points. [Also, unfortunately, I won't attend this year.]
 Gcc-mirror.git has artifacts in several commit messages due to edits of SVN commit messages after the fact.