【问题标题】:Is this right? Merging between stable and default branches in Mercurial using TortoiseHg这是正确的吗?使用 TortoiseHg 在 Mercurial 中的稳定分支和默认分支之间合并
【发布时间】:2012-05-03 15:50:47
【问题描述】:

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

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

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

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

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

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

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

-- 打开devel本地目录。

-- 启动 HgWorkbench。

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

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

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

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

-- 同步并从远程仓库拉取。

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

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

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

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

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

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

【问题讨论】:

    标签: mercurial tortoisehg


    【解决方案1】:

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

    这就是我要做的:

    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 步开始重复上述步骤。

    【讨论】:

    • 听起来干净多了。我打算早上试试。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多