8

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

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

下面是我写的过程。请随时指出我的白痴或提出任何问题。并提前感谢您的任何评论。

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

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

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

-- 在开发存储库中提交。

-- 打开devel本地目录。

-- 启动 HgWorkbench。

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

-- 选择与本地合并...

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

-- 转到本地稳定存储库。

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

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

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

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

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

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

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

4

1 回答 1

6

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

这就是我要做的:

  1. 拥有存储库的单个克隆
  2. default分支中提交
  3. 开始HgWorkbench
  4. 右键单击stable分支上的最新变更集
  5. Update...在弹出菜单中选择并Update在弹出窗口中按下按钮(使用默认选项)
  6. 右键单击default分支中的最新变更集
  7. 选择Merge with local...
  8. 如果工作目录状态显示为干净(应该是),则单击Next按钮
  9. 如果没有合并冲突(同样,如果您不进行开发,则不应该存在stable)再次单击该Next按钮
  10. 输入提交消息并单击Commit按钮并按下Finish下一步
  11. 右键单击stable分支中的最后一个变更集并选择Tag...,输入标签名称并按下Add按钮。
  12. 右键单击default分支中的最后一个变更集,然后Update...再次选择使用默认选项

您现在已经有了一个标记的stable分支,并回到default分支上继续开发。当您准备好发布新stable版本时,请从第 3 步开始重复上述步骤。

于 2012-05-03T16:55:57.830 回答