2012-04-11 34 views
32

我剛剛創建了從其他回購的異構生態系統創造了一個善變的回購。在我發佈給我的同事之前,我想盡可能地清理它。爲此,我想從歷史中完全刪除一些大的舊文件(假裝它們從未存在過),所以回購會更小。如何從mercurial的歷史記錄中刪除大文件?

這可能與善變?

+8

不明白的「題外話」接近的選票;這個問題完全是在話題上。 – 2012-04-11 10:58:34

+0

@格拉漢姆,你是說你認爲軟件工程師應該使用修訂控制?這是瘋狂的談話... – sage 2016-09-26 21:30:35

回答

35

時退房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>選項來解決問題。

+0

感謝您的回答! --filemap的文檔相當稀少,你會有一個鏈接解釋它更多的細節? – 2012-04-11 13:04:52

+0

@static_rtti,更新了答案。 – 2012-04-11 13:05:24

+0

哇,太棒了!非常感謝你。 – 2012-04-11 13:06:10

相關問題