Mercurial:从本地存储库中删除文件以节省空间

时间:2013-09-06 09:54:17

标签: mercurial

我继承了一个Mercurial存储库,其中包含一些带有二进制文件的目录。

上述目录中的所有文件很久以前就从Mercurial中删除了,它们将永远不会被再次使用。

我读过由于变更集哈希值很难从Mercurial中永久删除文件。

有没有办法从我的本地存储库中删除数据,或者最好也从bitbucket存储库中删除数据?

我不在乎这些文件的历史记录是否仍然存在于Mercurial中,我只是不想为它们浪费存储空间。

如果我无法从bitbucket中删除文件,我可以删除本地存储库中.hg / store / data下的apropos .i文件吗?我会在bitbucket中保留.i文件。这会导致我的本地存储库出现任何问题,无论是单独使用,还是从bitbucket拉出或推送到bitbucket?没有人会从我的本地存储库中克隆。

感谢。

1 个答案:

答案 0 :(得分:3)

您无法删除数据,但您可以使用Convert扩展转换和过滤存储库。在您的情况下,convert from Mercurial to Mercurial。请参阅--filemap选项。

我认为这不算作删除数据,因为您最终得到了一个新的存储库和新的变更集ID。但是你最终会得到一个新的存储库,它排除了你要求排除的内容。

如果您是唯一的开发人员,我可以安全地用新的bitbucket存储库替换现有的bitbucket存储库。但是我自己在一个临时存储库上测试它。如果您不是唯一的开发人员,请花一些时间来规划转换。 (并确保它值得麻烦。通常不是 - 磁盘很便宜。)