Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to clone with hgsubversion in steps?

I'm trying to clone a rather large subversion repository with hgsubversion.

hg clone --startrev 8890 svn+https://my.reposit.ory/trunk trunk_hg

After about an hour, the clone operation aborts with an out of memory message:

[r20097] user: description
abort: out of memory

Is it possible to specify an end revision for the clone operation and get the remaining revisions with a pull? Or somehow break up the clone in smaller steps?

like image 531
pesche Avatar asked Dec 21 '10 20:12

pesche


3 Answers

You can specify a stop revision with -r for clone, as others have suggested. Another option (if you kept the clone where things crashed) would be to just run hg pull in the trunk_hg copy. You might have to edit/create .hg/hgrc yourself to add the [paths]\n default = svn+https://my.reposit.ory/trunk, since I think we add that at the end of the cloning process. Maybe run hg svn rebuildmeta before your pull just for good measure in case the tracking metadata for hgsubversion got hosed when the OOM happened.

I hope this helps!

like image 144
durin42 Avatar answered Oct 20 '22 14:10

durin42


http://www.selenic.com/mercurial/hg.1.html#clone

Could try using the -r <revid> flag to clone only a particular changeset. Though that may or may not work with hgsvn.

like image 1
Amber Avatar answered Oct 20 '22 14:10

Amber


Cloning with a limited range of revisions and then pulling is the recommended method and I can confirm that it works flawlessly for svn repositories in the several GB size range.

like image 1
RandomSF Avatar answered Oct 20 '22 14:10

RandomSF