我在糟糕的地方拨号(是的,它仍然发生在2011年),并试图克隆一个巨大的存储库。它开始没有问题,但每次拨号断开(这似乎是不可避免的,似乎),!#%$ * hg将所有内容卷回来,我再次留下一个空目录。
除了在远程PC上执行此操作然后通过FTP或其他东西下载整个内容之外,是否有其他解决方案?
答案 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
它针对单个回购进行了优化,但我想你可以分叉并开展工作! :)