我剛剛創建了從其他回購的異構生態系統創造了一個善變的回購。在我發佈給我的同事之前,我想盡可能地清理它。爲此,我想從歷史中完全刪除一些大的舊文件(假裝它們從未存在過),所以回購會更小。如何從mercurial的歷史記錄中刪除大文件?
這可能與善變?
我剛剛創建了從其他回購的異構生態系統創造了一個善變的回購。在我發佈給我的同事之前,我想盡可能地清理它。爲此,我想從歷史中完全刪除一些大的舊文件(假裝它們從未存在過),所以回購會更小。如何從mercurial的歷史記錄中刪除大文件?
這可能與善變?
時退房convert
擴展,特別是--filemap
選項。
[extensions]
convert =
在地圖上添加文件排除:
exclude path/to/file1
exclude path/to/file2
然後轉換回購:
hg convert srcrepo destrepo --filemap <map>
注意有一個
通過添加以下到mercurial.ini
啓用Mercurial 2.1.1中的錯誤導致與上述命令的錯誤:
initializing destination destrepo repository
abort: invalid mode ('r') or filename
只需添加--splicemap <nonexistent file>
選項來解決問題。
感謝您的回答! --filemap的文檔相當稀少,你會有一個鏈接解釋它更多的細節? – 2012-04-11 13:04:52
@static_rtti,更新了答案。 – 2012-04-11 13:05:24
哇,太棒了!非常感謝你。 – 2012-04-11 13:06:10
不明白的「題外話」接近的選票;這個問題完全是在話題上。 – 2012-04-11 10:58:34
@格拉漢姆,你是說你認爲軟件工程師應該使用修訂控制?這是瘋狂的談話... – sage 2016-09-26 21:30:35