这是正确的吗?使用TortoiseHg在Mercurial中合并稳定和默认分支

时间:2012-05-03 15:50:48

标签: mercurial tortoisehg

我是Mercurial的新手,我正在使用Stable / Default分支系统。我们都在Windows上,我正在努力让其他所有人都在这个系统中工作。我们都在使用TortoiseHg。我正在尝试记录如何将更改合并到稳定版和标记版中,但我只使用Mercurial大约三周,所以我甚至不确定我是否正确地执行此操作。此外,TortoiseHg似乎缺少命令行提供的一些选项。但是,我需要从Windows shell中完成这项工作,否则它将不会被采用。

我们所有的编程工作都是默认完成的,而stable分支仅用于软件版本。让我相信我做错事的一件事是,在每次合并之后,我必须重新制作稳定的分支。这是正常的吗?似乎违反直觉。

以下是我写的程序。请随时指出我的白痴或提出任何问题。并提前感谢您的任何意见。

在我的笔记本电脑上,每个项目都有两个目录。 devel目录存储默认分支的克隆

===============

合并分支并创建稳定版本,TortoiseHg

- 在devel存储库中提交。

- 打开devel本地目录。

- 启动HgWorkbench。

- 单击稳定分支的最新稳定版本。

- 选择与本地合并...

- 同步并推送对远程存储库的更改。

- 转到本地稳定存储库。

- 从远程存储库同步和拉取。

- 更新到最新的默认分支。选择“更新到小费”应该是最好的。

- TortoiseHg - >承诺。承诺分支“稳定”。您需要重新创建一个新分支。当它询问时,选择“重新启动分支。”

- 打开HgWorkbench并为最新的稳定版本添加标签。示例“版本X.X”

- 同步并推送到远程存储库。使用“同步”对话框中的“选项”按钮打开“同步选项”对话框。在标有“分支”的底部字段中,键入“稳定”

- 返回本地“devel”存储库。

- 从远程存储库同步和拉取。使用“同步”对话框中的“选项”按钮打开“同步选项”对话框。在标有“分支”的底部字段中,确保该字段为空。否则,它将默认为“稳定”分支。

1 个答案:

答案 0 :(得分:6)

第二个克隆没有必要实现你想要的东西,我认为它在不需要的地方增加了复杂性。

这就是我要做的事情:

  1. 拥有存储库的单个克隆
  2. default分支
  3. 中提交
  4. 开始HgWorkbench
  5. 右键单击stable分支
  6. 上的最新变更集
  7. 在弹出菜单中选择Update...,然后在弹出窗口中按Update按钮(使用默认选项)
  8. 右键单击default分支
  9. 中的最新变更集
  10. 选择Merge with local...
  11. 如果工作目录状态显示为干净(应该是),则单击Next按钮
  12. 如果没有合并冲突(再次,如果您不在stable中进行开发,则不应该再次点击Next按钮
  13. 输入提交消息并点击Commit按钮,然后在下一步按Finish
  14. 右键单击stable分支中的最后一个变更集,然后选择Tag...,输入标记名称,然后按Add按钮。
  15. 右键单击default分支中的最后一个变更集,然后再次使用默认选项选择Update...
  16. 您现在已经获得了标记为stable的分支,并返回default分支继续开发。当您准备发布新的stable版本时,请重复上述步骤3中的步骤。