我刚刚创建了一个mercurial存储库,它是从其他存储库的异构生态系统中创建的。在我把它发布给我的同事之前,我想尽可能地清理它。为此,我想从历史中完全删除一些大的旧文件(假装它们从来不存在),这样repo就会更小。
使用mercurial可以做到这一点吗?
发布于 2012-04-11 20:58:54
查看convert
扩展,特别是--filemap
选项。
通过将以下内容添加到mercurial.ini
来启用
[extensions]
convert =
创建要排除的文件的映射:
exclude path/to/file1
exclude path/to/file2
然后转换repo:
hg convert srcrepo destrepo --filemap <map>
请注意,Mercurial 2.1.1中存在一个bug,导致上述命令出错:
initializing destination destrepo repository
abort: invalid mode ('r') or filename
只需添加--splicemap <nonexistent file>
选项即可解决此问题。
https://stackoverflow.com/questions/10103227
复制相似问题