Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Mercurial推动bug修复_Mercurial_Push_Bookmarks - Fatal编程技术网

如何使用Mercurial推动bug修复

如何使用Mercurial推动bug修复,mercurial,push,bookmarks,Mercurial,Push,Bookmarks,好的,我试着寻找一些具体的东西,但没有找到任何东西 如果我正在默认分支中开发新功能,并且以前的工作中出现了错误报告,那么处理修复和推送的最佳方法是什么?我试着用书签,但后来我发现它也能推送祖先。这就是我正在做的 未来变更集的默认分支工作(版本76) 在编码过程中切换到bug fix hg书签干管(用于当前工作) hg书签-R76修复1(用于bug工作) hg更新补丁1 现在开始破解版本77 hg commit-m“bug修复” hg更新主 hg push-B fix1 就在那时,我注意到76

好的,我试着寻找一些具体的东西,但没有找到任何东西

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

  • 未来变更集的默认分支工作(版本76)
  • 在编码过程中切换到bug fix
  • hg书签干管(用于当前工作)
  • hg书签-R76修复1(用于bug工作)
  • hg更新补丁1
  • 现在开始破解版本77
  • hg commit-m“bug修复”
  • hg更新主
  • hg push-B fix1
就在那时,我注意到76也上升了

既然我不希望有新的未完成的工作,只想修复bug,那么最好的方法是什么?克隆虫子


谢谢。

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

尝试以下方法:

  • 未来变更集的默认分支工作(版本76)
  • 在编码过程中切换到bug修复。错误在变更集50中
  • hg bookmark main
  • hg更新-r50
  • hg书签修复1
  • 破解现在的版本77,以修复错误
  • hg commit-m“bug修复第1部分”
  • 破解现在版本78,修复错误
  • hg commit-m“bug修复第2部分”
  • hg推送-rfix1
  • hg update main
  • 再次将您的错误修复放在主要代码行中
  • hg merge fix1
  • 如果需要,请删除书签
  • hg书签-d fix1
  • 再次使用新功能

使用分支。。。或者克隆人。。。和清理您的工作流程描述-您在“默认分支”上工作,是吗?并且必须在编码的中间切换到BugFig,是吗?谢谢你的澄清!这被称为“daggy”修复,因为它利用了变更集之间的DAG(有向无环图)关系。更多信息--另外,您不必找到引入错误的确切变更集。您可以在知道存在bug的变更集(例如v1.0)之上实施修复。