2011-11-18 50 views
5

有沒有方法可以確定爲什麼給定的存儲庫需要很長時間進行克隆?解釋緩慢的Mercurial克隆?

我猜測在某些時候,我們添加了一些大文件,然後我們刪除了這些文件,並且下載這些歷史記錄可能會導致克隆變得非常緩慢。

我們不確定它們是哪些文件,以及我們是否可以實際(永久)從回購庫中刪除它們。

任何想法?

回答

0

您可以在.hg/store/data裏面查看是否有任何可疑的大文件。

+1

如果您識別一個文件,您可以永久刪除一個大文件嗎? –

+0

@Marcus你不能從.hg/store目錄中刪除文件,因爲那裏的文件至少被你的一個倉庫頭引用。 – Rudi

+0

您無法將其從現有的變更集中移除,但如果您確實需要刪除它,則可以更改歷史記錄。 – Ringding

4

你不能改變回購的歷史,但你可以使用汞轉換在其中創建選擇性史上一個新的回購,但這需要每個人都切換到新的回購可能會或可能不會對你的問題取決於項目的運行方式。

使用汞轉化爲帶上的文件創建一個文件filemap具有以下內容

exclude path/to/really/big/file 

然後運行命令

hg convert --filemap filemap oldrepo newrepo 

如果你並沒有太多的刪除您可以找到它:

hg log --template "{file_dels} " 

這將顯示所有文件delet ed爲所有提交