2012-04-11 158 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

相关问题