How was the conversion from svn to git done?

Robin Pedersen robinpeder at gmail.com
Sat Aug 29 13:02:34 UTC 2009


On Fri, 28 Aug 2009 16:31:26 +0200, Colin Guthrie <gmane at colin.guthr.ie>  
wrote:

>> Git-svn is not awesome. Git-svn is a good hack that allows you to use  
>> git
>> while leaving svn as the main SCM.... because you can't do stuff like  
>> sharing
>> branches---which imho is one of the really great things about git.  
>> Anyway, his
>> question was about svn->git.
>
> Hmm, strange. While I've used git-svn for that purpose too (mirroring
> the current state of an svn repo to create branches etc).
>
> But I've also used it to pull in the whole history of the svn repo (e.g.
> every commit from 1 up to HEAD, not just a snapshot) from which I've
> subsequently removed the git-svn branch it maintains internally to leave
> me with a fully converted repository (e.g. no dcommit's back). I was
> able to specify the branches and tags paths and it got everything pretty
> much right.
>
> So it worked pretty well for me, but sorry for suggesting the wrong
> thing in this case.
>
> Col

I've also used git-svn to permanently move from svn to git. It may not be  
the best for a large project like Qt or KDE, but it seems to work fine in  
most cases.

Some tips:
* Use the option '--no-metadata', if you don't want svn urls in every log  
message.
* Use '--authors-file=<filename>' to convert svn usernames to full  
name/email in git log messages.
* Run git-svn in a temporary directory, and immediately clone to a bare  
git repository in the final destination, and you are rid of the svn-remote  
stuff, and you have a pure git repo that you can clone to your working  
directory.

-- 
Robin Pedersen



More information about the Amarok mailing list