【问题标题】:Mercurial: removing files from local repository to save spaceMercurial:从本地存储库中删除文件以节省空间
【发布时间】:2013-09-06 09:54:16
【问题描述】:

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

上述目录中的所有文件早已从 Mercurial 中删除,并且永远不会再次使用。

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

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

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

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

谢谢。

【问题讨论】:

    标签: mercurial


    【解决方案1】:

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

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

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

    【讨论】:

    • 还有一个问题 - 如果您从历史记录中删除文件,您将无法部署旧版本的应用程序。然而,这是非常罕见的会:)
    • 是的,我认为这是不言而喻的,但也许我应该说出来。
    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2018-10-25
    • 1970-01-01
    • 2016-07-29
    相关资源
    最近更新 更多