Mercurial repo太大,无法连接,克隆

时间:2014-06-28 12:46:52

标签: git mercurial atlassian-sourcetree

我们的BitBucket repo已经发展到超过3场演出,现在当我尝试在SourceTree中克隆时,我得到的是尝试连接符号。当我尝试使用Tortoise时,它会克隆到某个点,然后断开连接,说它预期#bytes但是得到了#。

我无法从BitBucket下载.zip,因为它太大了。我该怎么做才能克隆?

2 个答案:

答案 0 :(得分:8)

使用hg clone -r <revision>克隆到旧版本,然后完成剩下的工作。如有必要,您也可以逐步拉动。

答案 1 :(得分:6)

我还遇到了一个存储在BitBucket上的非常大的,几千兆字节的存储库这个问题。如果我试图简单地克隆整个仓库,它将始终在“添加文件更改”的中间中止。如果您正在使用TortoiseHG,则错误消息类似于“abort:stream意外结束(得到##### bytes,期望######)”

解决方案是通过克隆前几百个签到来“开始派对”,然后使用Mercurial pull命令逐步下载更多修订。

这是命令行:

hg clone -r 500 https://Someone@bitbucket.org/MyCompany/MyRepoName MyDevFolder

这将克隆名为-r 500的存储库的前500个版本(MyRepoName),然后将它们复制到名为MyDevFolder的新文件夹中。 (当然,您可以省略“MyDevFolder”,它只会根据您的存储库名称创建一个新文件夹)

如果上述内容成功,请转到新的开发文件夹,然后尝试逐步更新到更高版本号。

cd MyDevFolder
hg pull -r 1000
hg pull -r 2000
hg pull -r 3000
...
hg pull -r [Whatever the maximum number of revisions is]
hg pull
hg update

作为预防措施,在流程结束时,您应该发出一个简单的hg pull,以确保您完整地提取了所有代码。

hg update当然会更新MyDevFolder中的文件,以反映源代码的最新版本。