我刚刚创建了从其他回购的异构生态系统创造了一个善变的回购。在我发布给我的同事之前,我想尽可能地清理它。为此,我想从历史中完全删除一些大的旧文件(假装它们从未存在过),所以回购会更小。如何从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