git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: svn to git, N-squared?

From
EWEric Wong <normalperson@yhbt.net>
Date
Jun 12, 2006, 04:29 UTC
Message-ID
<20060612042934.GA12083@hand.yhbt.net>
In-Reply-To
<9e4733910606111902l709c71ccyf45070d55112739e@mail.gmail.com>
Jon Smirl <jonsmirl@gmail.com> wrote:
Show 6 quoted lines
> I have Mozilla CVS in a SVN repository. I've been using git-svnimport
> to import it. This time I am letting it run to completion; but the
> import has been running for four days now and it is only up to 2004.
> The import task is stable at 570MB and it is using about 50% of my
> CPU. It is constantly spawning off git write-tree, read-tree,
> hash-object, update-index. It is not doing excessive disk activity.

SVN itself seems to get much slower as you get towards newer revisions in a repository (FSFS) with lots of history. I've been experimenting a bit with a local copy of the gcc repo from November and git-svn SUCKED at importing it (it took over a week and I cancelled it out of frustration). I started repacking too, but, and it didn't help, Much of the performance defieciency was the svn sub process. being extremely slow at updating.

I also tried git-svnimport, of course, but I only had 512M on that machine and the machine became unusable due to heavy swapping.

Show 9 quoted lines
> The import seems to be getting n-squared slower. It is still making
> forward progress but the progress seems to be getting slower and
> slower.
> 
> It looks like it is doing write-tree, read-tree, hash-object,
> update-index once or more per change set. If these commands are
> n-proportional and they are getting run n times, then this is a
> n-squared process. Projecting this out, the import may take 10 days or
> more to completely finish.

I'm working on some improvements to git-svn to make it a bit more spiffy.

-- 
Eric Wong
Previous: Randal L. Schwartz
Message 9 of 9 in “svn to git, N-squared?”
  1. Jon SmirlJun 12, 2006
  2. Linus TorvaldsJun 12, 2006
  3. Jon SmirlJun 12, 2006
  4. Linus TorvaldsJun 12, 2006
  5. Yakov LernerJun 12, 2006
  6. Linus TorvaldsJun 12, 2006
  7. Randal L. SchwartzJun 12, 2006
  8. Randal L. SchwartzJun 12, 2006
  9. Eric WongJun 12, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.