threads / discuss / 18998

git-svn init/fetch: wow that's slow

Subject: git-svn init/fetch: wow that's slow

## tl;dr

4 messages between Apr 22, 2009 and Apr 22, 2009.

replies: 3people: 4as markdown or json

Lachlan Deck· Apr 22, 2009, 07:40 UTC · lore
Hi there,

I've just finished checking out a project that has some 5700 odd commits (with some 15 branches, and 40-50 tags) and it's taken 4 days to complete! Woah - that was testing my patience :-)

Okay, so I'm using git 1.6.2. I assume this is all a 'known issue'. Has there been any work / plans towards improving this? Thanks.

with regards, --

Lachlan Deck
Sverre Rabbelier· Apr 22, 2009, 09:55 UTC · re: Lachlan Deck · lore

Re: git-svn init/fetch: wow that's slow

Heya,
On Wed, Apr 22, 2009 at 09:40, Lachlan Deck <lachlan.deck@gmail.com> wrote:
> Okay, so I'm using git 1.6.2. I assume this is all a 'known issue'. Has
> there been any work / plans towards improving this?

This can be improved by using svn 1.5's delta feature, however, Eric (the author of git-svn) does not have the time to do this, and no-one has stepped up to do this. A workaround is to not clone from r1 but instead start at a more recent revision.

-- 
Cheers,

Sverre Rabbelier
Sam Vilain· Apr 22, 2009, 11:05 UTC · re: Sverre Rabbelier · lore

Re: git-svn init/fetch: wow that's slow

On Wed, 2009-04-22 at 11:55 +0200, Sverre Rabbelier wrote:
Show 11 quoted lines
> Heya,
> 
> On Wed, Apr 22, 2009 at 09:40, Lachlan Deck <lachlan.deck@gmail.com> wrote:
> > Okay, so I'm using git 1.6.2. I assume this is all a 'known issue'. Has
> > there been any work / plans towards improving this?
> 
> This can be improved by using svn 1.5's delta feature, however, Eric
> (the author of git-svn) does not have the time to do this, and no-one
> has stepped up to do this.
> A workaround is to not clone from r1 but instead start at a more
> recent revision.

Fetching over plain svn:// is IME much faster. But let's face it, SVN is no race-horse and was never designed for the case where people like to look at their history much. Developing with a trunk was so painful, people would rather just forget...

One workaround is to use SVK to do the initial mirroring, and the --use-svm-mirror flag to convert your SVK mirror path to git. See http://utsl.gen.nz/talks/git-svn/intro.html for a guide for the second part of that. SVK has implemented some of the harder parts of the SVN API to get right, such as request pipelining - see http://code.bestpractical.com/svk/trunk/lib/SVK/Mirror/Backend/SVNRaPipe.pm for how the SVN API "supports" this. As a result of this dedication to the cause, SVK does this part very quickly.

Sam
Matthieu Moy· Apr 22, 2009, 11:16 UTC · re: Sam Vilain · lore

Re: git-svn init/fetch: wow that's slow

Sam Vilain <sam@vilain.net> writes:
> One workaround is to use SVK to do the initial mirroring, 

Probably svnsync can help here too. Dunno whether it's gonna be faster ...

-- 
Matthieu

← back to recent threads