2011-04-01 24 views
3

我已經將一些文件提交到了一個mercurial存儲庫,我想從存儲庫歷史記錄中永久刪除這些文件。它只是在我沒有添加到.hgignore的目錄中進行測試輸出。我通常不會在乎,但是文件路徑非常長,當我嘗試克隆到Windows機器時,它會因文件路徑長度而中止。mercurial存儲庫中的文件路徑太長,不適用於windows

我在幾個地方看過,它不可能刪除歷史。有沒有其他解決方法?

+0

你可以使用'hg convert'和filemap來移動這些有問題的文件,或者刪除它們,但是我從來沒有用過它,所以我不會添加它作爲答案。 – 2011-04-01 14:54:00

回答

4

可以完全從歷史記錄中刪除文件,但通過這樣做,你基本上正在創建一個與前一個無關的新存儲庫(因此它擁有的任何克隆將不再是克隆)。最簡單的方法是使用convert擴展:

hg convert -d hg --filemap filemap repo new-repo 

filemap文件允許你指定哪些文件應該創造新的歷史記錄時,可以跳過:

exclude fileA 
exclude fileB 

您可以找到水銀的更多信息wiki:convert extensionFAQ entry

+0

非常感謝。我會試一試。 – 2011-04-01 15:31:03

相關問題