converting a huge git repo

Matt Mackall mpm at selenic.com
Mon Jun 22 12:05:37 CDT 2009


On Mon, 2009-06-22 at 17:02 +0200, Arne Babenhauserheide wrote:
> Hi, 
> 
> I'm currently trying to convert a huge git repository (about 130.000 
> changesets, 1.5 GiB in size). It takes about half a day before the convert 
> even starts and requites more than 2GiB memory. 
> 
> Is there a faster/less resource hungry way to archieve the convert? 

I presume it's fully packed? The startup time is two things:

- walking the changeset graph
- topologically sorting it

While the latter is O(n^3), it should still be reasonably fast. Which
leave 130k revision lookups to walk the graph. If it's not well packed,
that could be 130k seeks.

Also, if you're swapping, expect performance to fall through the floor.

I believe there's a convert parameter to stop at a given revision,
allowing you to do the convert in multiple passes.

-- 
http://selenic.com : development and support for Mercurial and Linux




More information about the Mercurial mailing list