This is the mail archive of the
gcc-patches@gcc.gnu.org
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: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jason Merrill <jason at redhat dot com>, Paolo Bonzini <pbonzini at redhat dot com>, Richard Guenther <richard dot guenther at gmail dot com>, Martin Liška <mliska at suse dot cz>
- Date: Fri, 13 Sep 2019 10:20:14 +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> <7A734FBC-74CF-43AC-AADA-29809F2CD3AC@linaro.org> <alpine.DEB.2.21.1908232119300.19272@digraph.polyomino.org.uk>
> On Aug 24, 2019, at 12:30 AM, Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Fri, 23 Aug 2019, Maxim Kuvyrkov wrote:
>
>> 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 concur that accurately crediting contributors is important and means we
> should not start from the existing mirror (though we should keep its
> branches available, so references to them and to their commit hashes
> continue to work - either keeping the existing repository available under
> a different name, or renaming the branches to put them in the new
> repository - which should not enlarge the repository much because blob and
> tree objects will generally be shared between the two versions of the
> history).
>
> I note that the Go conversion of reposurgeon is now just five test
> failures away from passing the whole reposurgeon testsuite (at which point
> it should be ready for an attempt on the GCC conversion). Given the good
> progress being made there at present, I thus suggest we plan to compare
> this conversion with one from reposurgeon (paying special attention to the
> messiest parts of the repository, such as artifacts from cvs2svn
> attempting to locate branchpoints), unless those last five goreposurgeon
> test failures prove unexpectedly time-consuming to get resolved.
Could you upload GCC repo converted with reposurgeon somewhere public? And also list expected artifacts in its current version?
>From my side, the machine on which the conversion ran ran out of disk space about 3 weeks ago. I'll clean it up and restart the conversion updates.
I'll also improve author entries a bit, so gcc-pretty.git's history will change ever so slightly.
>
> There are of course plenty of things to do relating to a git conversion
> that do not depend on the particular choice of a converted repository -
> such as writing git hooks and git versions of the maintainer-scripts
> scripts that currently work with SVN, or working out a specific choice of
> how to arrange annotated tags to allow "git describe" to give the sort of
> monotonic version number some contributors want.
>
> A reasonable starting point for hooks would be that they closely
> approximate what the current SVN hooks do for commit mails to gcc-cvs and
> for Bugzilla updates, as what the current hooks do is clearly OK at
> present and we shouldn't need to entangle substantive changes to what the
> hooks do with the actual conversion to git; we can always discuss changes
> later.
Would the community please assign a volunteer for this at Cauldron? :-P
Thank you,
--
Maxim Kuvyrkov
www.linaro.org