Test GCC conversion with reposurgeon available
Maxim Kuvyrkov
maxim.kuvyrkov@linaro.org
Tue Dec 24 10:57:00 GMT 2019
> On Dec 22, 2019, at 4:56 PM, Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Thu, 19 Dec 2019, Joseph Myers wrote:
>
>> And two more.
>>
>> git+ssh://gcc.gnu.org/home/gccadmin/gcc-reposurgeon-4a.git
>> git+ssh://gcc.gnu.org/home/gccadmin/gcc-reposurgeon-4b.git
>
> Two more.
>
> git+ssh://gcc.gnu.org/home/gccadmin/gcc-reposurgeon-5a.git
> git+ssh://gcc.gnu.org/home/gccadmin/gcc-reposurgeon-5b.git
>
> The main changes are:
>
> * The case of both svnmerge-integrated and svn:mergeinfo being set is now
> handled properly, so the commit Bernd found is interpreted as a merge from
> trunk to named-addr-spaces-branch and has exactly two parents as expected,
> with the parents corresponding to the merges from other branches to trunk
> being optimized away.
>
> * The author map used now avoids timezone-only entries also remapping
> email addresses, so the email addresses from the ChangeLogs are used
> whenever a commit adds ChangeLog entries from exactly one author.
>
> * When commits add ChangeLog entries from more than one author (e.g.
> merges done in CVS), the committer is now used as the author rather than
> selecting one of the authors from the ChangeLog entries.
>
> * The latest whitelisting / PR corrections are used with Richard's script
> (430 checkme: entries remain).
>
> * One fix to the ref renaming in gcc-reposurgeon-5b.git so that the tag
> gcc-3_2-rhl8-3_2-7 properly ends up in vendors rather than prereleases.
I'll spend next couple of days comparing Joseph's gcc-reposurgeon-5a.git conversion against my gcc-pretty.git and gcc-reparent.git conversions, and will post results along with the scripts to this mailing list.
Regarding gcc-pretty.git and gcc-reparent.git conversions, I have the following comments so far:
Q1: Why are there missing branches for stuff that didn't originate at trunk@1?
A1: Indeed, that's by design / configuration. The scripts start with trunk@1 and build a parent DAG from that node. If desired, it is trivial to add more initial "root" commits to include these missing branches.
Q2: Why are entries from branches/st/tags treated as branches, not as tags?
A2: Because I opted to not special-case these to simplify comparison of different conversions. Tags/* entries are converted to git annotated tags in a separate pass, an it is trivial to add handling for branches/st/tags there.
Q3: Why do reparented branches in gcc-reparent.git repo have merge commits at the point of reparenting?
A3: That's an artifact of svn-git machinery my scripts are using. I haven't looked at this in depth.
Q4: Is it possible to integrate Richard E.'s script to rewrite commit log messages?
A5: Yes, absolutely. The scripts have a pass to rewrite commit author/committer entries, and log rewrite easily fits in there. It would be very helpful to have a version of Richard's script that runs on per-commit basis, suitable for "git filter-branch" consumption.
Regards,
--
Maxim Kuvyrkov
https://www.linaro.org
More information about the Gcc
mailing list