34

我刚刚创建了一个从其他 repos 的异构生态系统创建的 mercurial repo。在我将它发布给我的同事之前,我想尽可能地清理它。为此,我想从历史中完全删除一些大的旧文件(假装它们从未存在过),所以 repo 会更小。

这可能与水银?

4

1 回答 1

35

查看convert扩展程序,尤其是--filemap选项。

通过将以下内容添加到启用mercurial.ini

[extensions]
convert =

创建要排除的文件映射:

exclude path/to/file1
exclude path/to/file2

然后转换回购:

hg convert srcrepo destrepo --filemap <map>

请注意,Mercurial 2.1.1 中有一个错误导致上述命令出错:

initializing destination destrepo repository
abort: invalid mode ('r') or filename

只需添加--splicemap <nonexistent file>选项来解决问题。

于 2012-04-11T12:58:54.283 回答