我已經將一些文件提交到了一個mercurial存儲庫,我想從存儲庫歷史記錄中永久刪除這些文件。它只是在我沒有添加到.hgignore的目錄中進行測試輸出。我通常不會在乎,但是文件路徑非常長,當我嘗試克隆到Windows機器時,它會因文件路徑長度而中止。mercurial存儲庫中的文件路徑太長,不適用於windows
我在幾個地方看過,它不可能刪除歷史。有沒有其他解決方法?
我已經將一些文件提交到了一個mercurial存儲庫,我想從存儲庫歷史記錄中永久刪除這些文件。它只是在我沒有添加到.hgignore的目錄中進行測試輸出。我通常不會在乎,但是文件路徑非常長,當我嘗試克隆到Windows機器時,它會因文件路徑長度而中止。mercurial存儲庫中的文件路徑太長,不適用於windows
我在幾個地方看過,它不可能刪除歷史。有沒有其他解決方法?
你可以完全從歷史記錄中刪除文件,但通過這樣做,你基本上正在創建一個與前一個無關的新存儲庫(因此它擁有的任何克隆將不再是克隆)。最簡單的方法是使用convert擴展:
hg convert -d hg --filemap filemap repo new-repo
的filemap
文件允許你指定哪些文件應該創造新的歷史記錄時,可以跳過:
exclude fileA
exclude fileB
您可以找到水銀的更多信息wiki:convert extension,FAQ entry。
非常感謝。我會試一試。 – 2011-04-01 15:31:03
你可以使用'hg convert'和filemap來移動這些有問題的文件,或者刪除它們,但是我從來沒有用過它,所以我不會添加它作爲答案。 – 2011-04-01 14:54:00