【问题标题】:does mercurial have problems with files being added and removedmercurial 在添加和删除文件时是否有问题
【发布时间】:2014-10-15 13:11:30
【问题描述】:

我有一些代码更改不小心推送到团队存储库,因此我创建了额外的头部。 通常我将这些更改保留在我自己的存储库中,但我只是忘记引用要推送的更改集并最终得到了额外的人头。 为了解决这个问题,我使用了How to merge to get rid of head with Mercurial command line, like I can do with TortoiseHg? 中的提示 对我来说效果很好,事实上我很高兴这样我的更改根本不会丢失,并且团队成员不必在他们的 repo 中删除任何文件。事实上,即使这个头没有被使用,我可能想在将来参考它并做一些更改。

现在,在我进行此更改后,我得到了一位同事的反应,他是我们反复无常的专家,如下所示:[开始引用] 现在的主要问题是 MS 中的每个人都将拥有这些变更集,将看到合并“箭头”,将在历史中看到它,尽管它不包括在内。此外,“合并”提交根本没有提到这是一个虚拟合并。因此,如果您添加了稍后必须虚拟合并的其他头,请在下一次合并提交中明确注释以澄清这种情况。

此外,添加、删除和更改文件,现在可能会成为一个问题。由于虚拟合并,我不确定现在是否会出现这种情况,它可能会优化这些文件不受影响,这必须进行测试。 [结束引用]

我的反应是很容易看到一个虚拟合并,如果你在 TortoiseHg 中选择它,你只是看不到任何变化。提交消息“虚拟合并”可能是个好主意。所以这一点被采纳。 每个人都可以看到我的更改这一事实对我来说几乎不是问题,相反,它们被保存下来并作为未来的参考。我没有看到这里的问题。

但是关于添加删除和更改文件的最后一个粗体项目符号?这真的是mercurial的问题吗?这不是首先使用版本控制系统的本质吗?我应该测试什么,就像他似乎建议的那样? 他的评论正确吗?

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    你朋友的担心是没有根据的。他或她是对的,一个好的详细评论总是受到赞赏,但未来不会有任何痛苦。

    Evolve 机制从实验性扩展升级到核心功能时,它将提供更好的解决方案。您将 strip 更改集,但它实际上不会被删除(就像 strip 现在所做的那样)。取而代之的是,它会被标记为已过时,并且拉动的人会得到它,并且“过时”标记表示不会在正常使用中显示它。

    【讨论】:

    • 感谢您的回答。我严重怀疑他的观点是否有效,但我想仔细检查一下。为你 +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多