有没有办法从Web逐步克隆存储库?

时间:2011-01-17 17:55:53

标签: mercurial clone

我在糟糕的地方拨号(是的,它仍然发生在2011年),并试图克隆一个巨大的存储库。它开始没有问题,但每次拨号断开(这似乎是不可避免的,似乎),!#%$ * hg将所有内容卷回来,我再次留下一个空目录。

除了在远程PC上执行此操作然后通过FTP或其他东西下载整个内容之外,是否有其他解决方案?

3 个答案:

答案 0 :(得分:8)

在类似bash的shell中你可以这样做:

$ hg init myclone
$ cd myclone
$ for REV in `seq 10 10 100` ; do hg pull -r $REV <REMOTEREPO>; done

从10开始,每次拉下载下10次修订,最多100次。如果连接丢失,请将第一个参数调整为seq以匹配您已经提取的内容。

答案 1 :(得分:1)

根据连接的不同程度,有两种选项可用于执行初始克隆。

首先,您可以尝试所谓的“流式克隆”。这些最小化时间到第一个字节,但通常需要传输更多数据。

以下是如何进行流媒体克隆:

$ hg clone --uncompressed https://~~~~

你的第二个选择是hg clone --rev操作,然后是一些增量拉动。这与在某个遥远的过去克隆存储库并偶尔进行更新的行为类似。

$ hg clone --rev 5 https://~~~~

答案 2 :(得分:0)

根据这里的建议,

我创建了一个这样做的回购。

https://github.com/nootanghimire/hg-clone-bash

它针对单个回购进行了优化,但我想你可以分叉并开展工作! :)