On Wed, Nov 16, 2011 at 6:41 AM, Jonathan Ballet <jon@multani.info> wrote:
On Wed, Nov 16, 2011 at 11:13:50PM +1100, Tim Allen wrote:
I've done some experimentation, and (as best I can tell) it's impossible to use git-svn to create a sensible SVN → Git conversion of the Twisted repository. This is because of the various, inconsistent branch-naming schemes that have been used over Twisted's long history.
Actually, maybe git-svn by itself is not smart enough to handle all the possible cases and "weird" repository schemes like Twisted's one.
Yes, git-svn by itself cannot handle Twisted's repository both because of the repository layout that is different from what it expects, but also because if git-svn tries to mirror a repository with a large number of branches all at once it slows to a molasses-in-January crawl.
However, I think it should be possible with a second pass script to have a pretty good, or at least better, conversion.
The solution that I've come up with is to use git-svn to create a separate Git repository for each branch, and then git-push that branch into a central Git repository. This does burn *a lot* of disk space, but only one person needs to do it - everyone else can clone the central repository. The initial setup takes a while, but subsequent runs should be relatively fast. You can see the converted repository I'm building at: https://github.com/jcollie/twisted It's still in the process of building up so not all the branches are there yet. I've put the script that I'm using here: https://github.com/jcollie/twisted-svn-convert One feature that I'd like to add before calling this final is converting SVN usernames to "proper" names/email addresses like Git prefers to use. I use a similar script to mirror the Asterisk SVN repository with some good results: https://github.com/jcollie/asterisk -- Jeff Ollie