Mercurial:在早期版本中修复错误有什么好处

时间:2010-04-23 12:41:23

标签: mercurial

根据the guide,标题为:修复早期版本中的错误,它说明了这一点:

  

当您在某些早期版本中发现错误时,您有两个选择:您可以在当前代码中修复它,或者您可以返回历史记录并将代码准确地修复到您执行此操作的位置,从而创建更清晰的历史记录。

  1. 回顾历史如何让它更清洁?它仍然在最后一个新的变化集。
  2. 是否与录制的内容有关?
  3. 有没有办法查看按顺序查看新插入的变更集的日志?
  4. 本课程在具有非线性历史的独立开发人员的主题下。这是一个团队合作的好习惯吗?

3 个答案:

答案 0 :(得分:4)

1)通过提供更接近创建bug的修复,使其更加清晰。因此,如果您在错误之后有多个克隆,则每个克隆都可以引入不包含与后续更改相关的任何代码的修订更改集。它确实创建了一个新的变更集(提示)。然后,您需要将该修复程序与相关的所有克隆合并。

2)是的。因为您正在克隆创建错误的代码,修订历史记录直接引用了错误发生的变更集,因此它有助于记录(直接而不仅仅是通过注释)更改存在的原因。

3)变更集永远不会出现 - 它必须始终在树中合并,就像合并任何其他克隆一样。

4)我不认为这种方法偏离任何团队方法。在任何一种情况下,您都需要与团队沟通以指示修复的位置,或者它将位于某个主存储库中,您可以在其中合并修复。我想这种方法适用于团队环境。

答案 1 :(得分:2)

在提供更多信息的意义上,它更清洁。你最终会得到一个合并提交,它会通过它的父母向你显示bug的确切位置以及删除它的位置。

它也更清晰,你将有一个提交,它只会消除bug并在事后处理合并的东西。也就是说,当您在最新版本的代码中修复错误时,您将不得不同时修复错误并处理新内容,这使得它不太清楚,实际的修复程序是什么。

答案 2 :(得分:0)

我对subversion更熟悉,但如果你被允许在“过去”中进行更改,那么这意味着你可以改变特定存储库的所有分支。

换句话说,如果你在修订版100中犯了错误并分支代码,那么错误将在两个分支中持续存在。您可以在修订版100中修复错误一次,而不是在两个分支中单独修复代码,并让它在两个分支中传播。