mercurial是否存在添加和删除文件的问题

时间:2014-08-21 19:09:59

标签: mercurial

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

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

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

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

但最后一个关于添加删除和更改文件的大胆内容?这真的可以成为一个问题吗?这不是首先使用版本控制系统的本质吗?我应该测试什么,就像他似乎暗示的那样? 他的评论是否正确?

1 个答案:

答案 0 :(得分:1)

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

Evolve机制从实验扩展到核心功能时,它将提供更好的解决方案。您可以strip更改集,但它实际上不会被删除(正如strip现在所做的那样)。相反,它会被标记为过时,人们会拉动它并且过时的"标记说不在正常使用中显示它。