public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jason Merrill <jason@redhat.com>
To: Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git
Date: Thu, 01 Aug 2019 20:43:00 -0000	[thread overview]
Message-ID: <CADzB+2=B=Fv34nqt+D103YCQocBTsVs80CCNFHkv_4cJ0gKfWQ@mail.gmail.com> (raw)
In-Reply-To: <7FA7C370-04F5-448E-95D2-426607B99CF4@linaro.org>

On Mon, Jul 22, 2019 at 5:05 AM Maxim Kuvyrkov
<maxim.kuvyrkov@linaro.org> wrote:
>
> > On Jul 16, 2019, at 5:14 PM, Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> wrote:
> >
> >> On Jul 16, 2019, at 3:34 PM, Jason Merrill <jason@redhat.com> wrote:
> >>
> >> On Tue, Jul 16, 2019 at 12:18 PM Maxim Kuvyrkov
> >> <maxim.kuvyrkov@linaro.org> wrote:
> >>>
> >>> Hi Everyone,
> >>>
> >>> I've been swamped with other projects for most of June, which gave me time to digest all the feedback I've got on GCC's conversion from SVN to Git.
> >>>
> >>> The scripts have heavily evolved from the initial version posted here.  They have become fairly generic in that they have no implied knowledge about GCC's repo structure.  Due to this I no longer plan to merge them into GCC tree, but rather publish as a separate project on github.  For now, you can track the current [hairy] version at https://review.linaro.org/c/toolchain/gcc/+/31416 .
> >>>
> >>> The initial version of scripts used heuristics to construct branch tree, which turned out to be error-prone.  The current version parse entire history of SVN repo to detect all trees that start at /trunk@1.  Therefore all branches in the converted repo converge to the same parent at the beginning of their histories.
> >>>
> >>> As far as GCC conversion goes, below is what I plan to do and what not to do.  This is based on comments from everyone in this thread:
> >>>
> >>> 1. Construct GCC's git repo from SVN using same settings as current git mirror.
> >>> 2. Compare the resulting git repo with current GCC mirror -- they should match on the commit hash level for trunk, branches/gcc-*-branch, and other "normal" branches.
> >>> 3. Investigate any differences between converted GCC repo and current GCC mirror.  These can be due to bugs in git-svn or other misconfigurations.
> >>> 4. Import git-only branches from current GCC mirror.
> >>> 5. Publish this "raw" repo for community to sanity-check its contents.
> >>
> >> Why not start from the current mirror?  Perhaps a mirror of the mirror?
> >
> > To check that git-svn is self-consistent and generates same commits now as it was several years ago when you setup the current mirror.
>
> 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.

Jason

  reply	other threads:[~2019-08-01 20:43 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14 16:11 Maxim Kuvyrkov
2019-05-14 21:20 ` Segher Boessenkool
2019-05-15  8:34   ` Maxim Kuvyrkov
2019-05-15 18:47     ` Segher Boessenkool
2019-05-16  9:44       ` Maxim Kuvyrkov
2019-05-15 11:19 ` Richard Biener
2019-05-15 12:08   ` Maxim Kuvyrkov
2019-05-15 18:42     ` Eric Gallager
2019-05-16  0:33       ` Paul Koning
2019-05-16  9:53         ` Maxim Kuvyrkov
2019-05-16 16:22   ` Jeff Law
2019-05-16 16:40     ` Maxim Kuvyrkov
2019-05-16 18:36       ` Ramana Radhakrishnan
2019-05-16 19:07         ` Jeff Law
2019-05-16 22:04           ` Jonathan Wakely
2019-05-17 11:33             ` Martin Liška
2019-05-16 23:54       ` Joseph Myers
2019-05-17  8:19         ` Richard Sandiford
2019-05-17 19:51           ` Segher Boessenkool
2019-05-17 20:59             ` Steve Ellcey
2019-05-17 21:23             ` Jason Merrill
2019-05-20 22:42           ` Joseph Myers
2019-05-21 14:24             ` Richard Earnshaw (lists)
2019-05-21 14:45               ` Jeff Law
2019-05-21 15:02                 ` Richard Earnshaw (lists)
2019-05-21 16:44             ` Segher Boessenkool
2019-05-23 22:33               ` Joseph Myers
2019-05-24  8:58                 ` Segher Boessenkool
2019-05-24 12:02                   ` Florian Weimer
2019-05-29  1:50                   ` Joseph Myers
2019-05-29 13:04                     ` Segher Boessenkool
2019-05-31  0:16                       ` Joseph Myers
2019-06-02 23:13                         ` Segher Boessenkool
2019-06-03 22:33                           ` Joseph Myers
2019-06-03 22:49                             ` Segher Boessenkool
2019-06-05 18:04                             ` Jason Merrill
2019-06-06 10:14                               ` Richard Earnshaw (lists)
2019-06-06 23:41                                 ` Joseph Myers
2019-06-06 23:50                                   ` Ian Lance Taylor
2019-06-07  9:32                                     ` Richard Earnshaw (lists)
2019-06-06 23:36                               ` Joseph Myers
2019-07-22  9:05                                 ` Maxim Kuvyrkov
2019-05-16 23:06 ` Joseph Myers
2019-05-17 12:22   ` Martin Liška
2019-05-17 12:39     ` Jakub Jelinek
2019-05-19  7:35       ` Martin Liška
2019-05-19  8:11         ` Segher Boessenkool
2019-05-19 19:21           ` Marek Polacek
2019-05-19 19:46             ` Andreas Schwab
2019-05-19 19:54             ` Segher Boessenkool
2019-05-19 20:01               ` Andrew Pinski
2019-05-19 20:06                 ` Marek Polacek
2019-05-20  7:29                   ` Martin Liška
2019-05-20 13:56                 ` Florian Weimer
2019-05-20 14:18                   ` Segher Boessenkool
2019-05-20 14:25                   ` Jakub Jelinek
2019-05-20 14:26                   ` Andreas Schwab
2019-05-20 14:29                     ` Jakub Jelinek
2019-05-20 14:36                       ` Andreas Schwab
2019-05-20 15:04                       ` Segher Boessenkool
2019-05-17 14:59     ` Maxim Kuvyrkov
2019-05-19  7:09       ` Martin Liška
2019-05-17 14:56   ` Maxim Kuvyrkov
2019-05-17 13:07 ` Jason Merrill
2019-05-17 15:08   ` Maxim Kuvyrkov
2019-05-20 22:48   ` Joseph Myers
2019-05-28 10:44 ` Maxim Kuvyrkov
2019-07-16 10:21   ` Maxim Kuvyrkov
2019-07-16 12:40     ` Jason Merrill
2019-07-16 14:27       ` Maxim Kuvyrkov
2019-07-20 11:24         ` Maxim Kuvyrkov
2019-07-22  9:35         ` Maxim Kuvyrkov
2019-08-01 20:43           ` Jason Merrill [this message]
2019-08-02  8:41             ` Maxim Kuvyrkov
2019-08-02  8:57               ` Richard Biener
2019-08-02 10:27               ` Martin Liška
2019-08-02 10:54                 ` Maxim Kuvyrkov
2019-08-02 11:01                   ` Martin Liška
2019-08-02 11:06                     ` Richard Biener
2019-08-02 11:35                       ` Martin Liška
2019-08-02 22:31                         ` Jason Merrill
2019-08-05 13:20                           ` Martin Liška
2019-08-05 15:20                             ` Monotonically increasing counter (was Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git) Jason Merrill
2019-08-05 15:34                               ` Jakub Jelinek
2019-08-05 15:45                                 ` Richard Earnshaw (lists)
2019-08-05 18:22                                 ` Jason Merrill
2019-08-14 18:49                                   ` Jason Merrill
2019-09-19 19:29                                     ` Jason Merrill
2019-09-21 18:18                                       ` Segher Boessenkool
2019-09-21 20:31                                         ` Nicholas Krause
2019-09-21 21:32                                         ` Jason Merrill
2019-09-22  0:20                                           ` Segher Boessenkool
2019-08-02 14:35                       ` [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git Segher Boessenkool
2019-08-02 14:55                       ` Maxim Kuvyrkov
2019-08-05 16:43                       ` Mike Stump
2019-08-05  8:24               ` Maxim Kuvyrkov
2019-08-06 11:16                 ` Maxim Kuvyrkov
2019-08-23  8:27                   ` Maxim Kuvyrkov
2019-08-23 22:08                     ` Joseph Myers
2019-09-13  7:20                       ` Maxim Kuvyrkov
2019-08-02  8:35           ` Maxim Kuvyrkov
2019-08-02 14:14             ` Maxim Kuvyrkov
2019-08-02 15:47               ` Segher Boessenkool

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADzB+2=B=Fv34nqt+D103YCQocBTsVs80CCNFHkv_4cJ0gKfWQ@mail.gmail.com' \
    --to=jason@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=maxim.kuvyrkov@linaro.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).