0

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

上述目录中的所有文件都在很久以前从 Mercurial 中删除,并且永远不会再被使用。

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

有什么方法可以删除数据,要么只从我的本地存储库中删除,要么最好从 bitbucket 存储库中删除?

我不在乎这些文件的历史是否可以保留在 Mercurial 中,我只是不想为它们浪费存储空间。

如果我不能很好地从 bitbucket 中删除文件,我可以只删除本地存储库中 .hg/store/data 下的 apropos .i 文件吗?我会将 .i 文件保留在 bitbucket 中。这是否会导致我的本地存储库出现任何问题,无论是本身,还是从 bitbucket 拉取或推送到 bitbucket 时?没有人会从我的本地存储库中克隆。

谢谢。

4

1 回答 1

3

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

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

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

于 2013-09-06T11:57:27.563 回答