This is the mail archive of the
mailing list for the GCC project.
Re: Proposal for the transition timetable for the move to GIT
- From: "Eric S. Raymond" <esr at thyrsus dot com>
- To: Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>
- Cc: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>, gcc at gcc dot gnu dot org
- Date: Fri, 6 Dec 2019 12:21:11 -0500
- Subject: Re: Proposal for the transition timetable for the move to GIT
- References: <email@example.com> <9E009921-96EA-44A2-A06A-232711227E69@linaro.org> <BEB3D1BD-86C3-4B1A-A1BB-62461A7DCAD8@linaro.org>
- Reply-to: esr at thyrsus dot com
Maxim Kuvyrkov <firstname.lastname@example.org>:
> The general conversion workflow is (this really is a poor-man's translator of one DAG into another):
> 1. Parse SVN history of entire SVN root (svn log -qv file:///svnrepo/) and build a list of branch points.
> 2. From the branch points build a DAG of "basic blocks" of revision history. Each basic block is a consecutive set of commits where only the last commit can be a branchpoint.
> 3. Walk the DAG and ...
> 4. ... use git-svn to individually convert these basic blocks.
> 4a. Optionally, post-process git result of basic block conversion using "git filter-branch" and similar tools.
> Git-svn is used in a limited role, and it does its job very well in this role.
Your approach sounds pretty reasonable except for that part. I don't
trust git-svn at *all* - I've collided with it too often during
past conversions. It has a nasty habit of leaving damage in places
that are difficult to audit.
I agree that you've made a best possible effort to avod being bitten
by using it only for basic blocks. That was clever and the right thing
to do, and I *still* don't trust it.
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>