Maxim Kuvyrkov <maxim.kuvyr...@linaro.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>


Reply via email to