如何使用Mercurial推送错误修复

时间:2012-10-17 16:51:44

标签: mercurial push bookmarks

好的,我曾尝试寻找具体的东西,但没有提出任何建议。

如果我正在研究默认分支中的新功能,并且之前的工作中出现了错误报告,那么处理修复和推送的最佳方法是什么?我正在尝试书签,但后来我看到它也推动了祖先。这就是我在做的......

  • 处理未来变更集的默认分支(rev 76)
  • 在编码中间切换到错误修复
  • hg bookmark main(当前工作)
  • hg bookmark -r 76 fix1(用于bug工作)
  • hg update fix1
  • hack hack on now rev 77
  • hg commit -m'bug fix'
  • hg update main
  • hg push -B fix1

那时我注意到76也上升了。

由于我不希望新的未完成的工作上升,只是错误修复,最好的方法是什么?克隆错误?

感谢。

1 个答案:

答案 0 :(得分:1)

您将fix1书签设置在与主书签相同的变更集上,而不是首先更新到所需的变更集以修复错误。在推送时,您可以使用-r参数定义要推送的修订。这只会推送指定版本的分支和祖先(在这种情况下,修复分支)。

尝试类似:

  • 处理未来变更集的默认分支(rev 76)
  • 在编码中间切换到错误修复。 Bug在Changeset 50
  • hg bookmark main
  • hg update -r 50
  • hg bookmark fix1
  • hack hack on now rev 77修复bug
  • hg commit -m 'bug fix part 1'
  • hack hack on now rev 78修复bug
  • hg commit -m 'bug fix part 2'
  • hg push -rfix1
  • hg update main
  • 再次在主要代码行中添加错误修复
  • hg merge fix1
  • 如果需要,请删除书签
  • hg bookmark -d fix1
  • 再次处理您的新功能