是否有可能在步骤中使用hgsubversion进行克隆?

时间:2010-12-21 20:25:50

标签: mercurial clone hgsubversion

我正在尝试使用 hgsubversion 克隆一个相当大的subversion存储库。

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

大约一小时后,clone操作将以内存不足消息中止:

[r20097] user: description
abort: out of memory

是否可以为clone操作指定最终修订版,并使用pull获取剩余修订版?或者以某种方式以较小的步骤分解clone

4 个答案:

答案 0 :(得分:6)

您可以使用-r为克隆指定停止修订,正如其他人所建议的那样。另一个选项(如果您保留克隆的地方崩溃)将只在hg pull副本中运行trunk_hg。您可能必须自己编辑/创建.hg/hgrc以添加[paths]\n default = svn+https://my.reposit.ory/trunk,因为我认为我们会在克隆过程结束时添加它。如果在OOM发生时hgsubversion的跟踪元数据被清除,可能会在你的拉动之前运行hg svn rebuildmeta

我希望这有帮助!

答案 1 :(得分:1)

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

可以尝试使用-r <revid>标志仅克隆特定的变更集。虽然这可能适用于hgsvn,也可能不适用。

答案 2 :(得分:1)

使用有限范围的修订进行克隆然后提取是推荐的方法,我可以确认它对于几GB范围内的svn存储库是完美无缺的。

答案 3 :(得分:0)

这是克隆整个svn repo的解决方法:

  1. 开始克隆
  2. 立即中止( Ctrl + C 在Windows中)
  3. 比hg pull
  4. 你已经内存不足
  5. 重复步骤3直到您查看所有提交