> On Aug 5, 2019, at 11:24 AM, Maxim Kuvyrkov <maxim.kuvyr...@linaro.org> wrote:
> 
> 
>> On Aug 2, 2019, at 11:41 AM, Maxim Kuvyrkov <maxim.kuvyr...@linaro.org> 
>> wrote:
>> 
>>> On Aug 1, 2019, at 11:43 PM, Jason Merrill <ja...@redhat.com> wrote:
>>> 
> ...
>>>> Unfortunately, current mirror does not and could not account for rewrites 
>>>> of SVN commit log messages.  For trunk the histories of diverge in 2008 
>>>> due to commit message change of r138154.  This is not a single occurrence; 
>>>> I've compared histories only of trunk and gcc-6-branch, and both had 
>>>> commit message change (for gcc-6-branch see r259978).
>>>> 
>>>> It's up to the community is to weigh pros and cons of re-using existing 
>>>> GCC mirror as conversion base vs regenerating history from scratch:
>>>> 
>>>> Pros of using GCC mirror:
>>>> + No need to rebase public git-only branches
>>>> + No need to rebase private branches
>>>> + No need to rebase current clones, checkouts, work-in-progress trees
>>>> 
>>>> Cons of using GCC mirror:
>>>> - Poor author / committer IDs (this breaks patch statistics software)
>>>> - Several commit messages will not be the current "fixed" version
>>>> 
>>>> Thoughts?
>>> 
>>> I'm still inclined to stick with the mirror.  I would expect patch
>>> statistics software to be able to be taught about multiple addresses
>>> for the same person.
>> 
>> Patch tracking software breaks on emails like 
>> <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4> , where 
>> 38bc75d-0d04-0410-961f-82ee72b054a4 is not a reasonable domain name.
>> 
>> For completeness, I'll generate and upload a repo based on current mirror 
>> with all branches and tags converted.
> 
> Yeah, this didn't worked as well as I hoped.  Current gcc git mirror has 
> wrong history for branches that followed scenario:
> 1. create $branch from $base at revision N
> 2. commit WORK on $branch
> 3. delete $branch
> 4. create $branch from $base at revision N+M
> 5. rebase WORK on current $branch
> 
> Current mirror connects histories of two versions of $branch, and we get 
> wrong history.  In step (4) instead of plain history of $base we get a commit 
> merging histories of $branch just before deletion and $base at revision N+M.
> 
> There are many branches like this, e.g., branches/gccgo.

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.

--
Maxim Kuvyrkov
www.linaro.org

Reply via email to