[Twisted-Python] Twisted Project Jobs Volunteer

Jeffrey Ollie jeff at ocjtech.us
Wed Nov 16 09:17:51 EST 2011


On Wed, Nov 16, 2011 at 6:41 AM, Jonathan Ballet <jon at 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



More information about the Twisted-Python mailing list