On December 6, 2019 6:21:11 PM GMT+01:00, "Eric S. Raymond" <e...@thyrsus.com> 
wrote:
>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.

To me, looking from the outside, the talks about reposurgeon doing damage and a 
rewrite (in the last minute) would fix it doesn't make a trustworthy appearance 
either ;) 

I guess the basic block usage could be emulated by svn checkouts, svn log and 
manual diffing and installing revs on the git. And I can't really imagine how 
that cannot work with git-svn given it is used in the wild. 

Richard. 


Reply via email to