2014-06-28 73 views
5

我們的BitBucket回購已經發展到超過3演出,現在當我嘗試在SourceTree中克隆我所得到的是試圖連接符號。當我嘗試在烏龜克隆到某個點,然後斷開連接,說它預期#字節,但得到#。Mercurial回購太大,無法連接,克隆

我無法從BitBucket下載.zip,因爲它太大了。我能做些什麼來克隆?

+0

我遇到了這個問題,使用TeamCity和TortoiseHg。我得到了布拉德提到的信息。我真的不想做一些部分的工作來解決這個問題,因爲TC曾經放棄了這個文件夾,並試圖重新拉動它。雖然這有它自己的問題,但我能夠通過切換到SSH來解決此問題。我的回購不到500 MB,但這是這種症狀。也許別的東西導致它超時,但是尤其令人惱火,尤其是我有一個回購,我認爲這並不是那麼重要。 – Zack

回答

6

克隆到舊版本,使用hg clone -r <revision>,然後拖動其餘部分。如有必要,您還可以逐步提取。

+0

我只熟悉Sourcetree,我該如何運行終端命令?我需要安裝其他東西嗎? – RapsFan1981

+0

我不知道SourceTree,但它可能是您可以在克隆時設置的選項。否則,請檢查此鏈接:https://answers.atlassian.com/questions/54473/how-do-i-use-command-line-tools – Vince

3

我也遇到了一個存儲在BitBucket中的非常大的多GB存儲庫的問題。如果我試圖簡單地克隆整個repo,它總是會在「添加文件更改」的過程中中止。如果您使用的是TortoiseHG,則錯誤消息類似於「abort:stream unexpected unexpected(got ##### bytes,expected ######)」

解決方法是僅通過「啓動派對」克隆前幾百個簽入,然後使用Mercurial pull命令逐步下載更多修訂。

這裏的命令行:

hg clone -r 500 https://[email protected]/MyCompany/MyRepoName MyDevFolder 

這將克隆名爲MyRepoName庫的第一個500個版本(-r 500),然後將其複製到名爲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中的文件以反映源代碼的最新版本。

+0

這就是我得到的錯誤。感謝您的高舉。 – Zack