在新位置继续mercurial分支
我有一个分支在新位置继续mercurial分支,mercurial,Mercurial,我有一个分支dev,它已合并到release分支中,以形成发布提交 我希望在合并提交之后重新打开dev,这样我的存储库就有了一个可视化的“扇入扇出”样式。我的意思是,所有提交和分支都聚合到我的发布提交中,然后为下一个发布工作,并从中分离出来。这使得在视觉上很容易看到每个版本中包含的内容,因为它使它们在标记的发布提交之间保持隔离 结果是dev不再是一个连续的分支,我想知道这在mercurial中是否可行 当我在发布后再次尝试hg branch dev时,mercurial抱怨它已经存在。即使我在合
dev
,它已合并到release
分支中,以形成发布提交
我希望在合并提交之后重新打开dev
,这样我的存储库就有了一个可视化的“扇入扇出”样式。我的意思是,所有提交和分支都聚合到我的发布提交中,然后为下一个发布工作,并从中分离出来。这使得在视觉上很容易看到每个版本中包含的内容,因为它使它们在标记的发布提交之间保持隔离
结果是dev
不再是一个连续的分支,我想知道这在mercurial中是否可行
当我在发布后再次尝试hg branch dev
时,mercurial抱怨它已经存在。即使我在合并分支后使用say——close分支
进行提交
因此,目前我的解决办法是:
(1) 为每个版本使用不同的dev版本
,该版本更容易编写脚本或
(2) 在release
的同时运行dev
,并不断地从dev
合并到release
中,这并不坏,只是对于我们特定的发布过程来说有点混乱
我知道这似乎是一个非标准的mercurial发布过程。这将非常适合我们特定的项目和团队结构
谢谢你的帮助
编辑: 为了让我的意思更清楚一点,假设我将
feature-01
分支合并到dev
中,然后将dev
合并到release
中,以创建release-1.1
。然后我想创建一个新的feature-02
分支,该分支合并到dev
中,具有如下可视化效果:
@ changeset: 6:4bcc59fe6ded
|\ branch: dev
| | summary: Merge feature-02
| |
| o changeset: 5:8e117ffe64d0
| | branch: feature-02
| | summary: Add d
\ |
o changeset: 4:c39dae3ff2fa <---- all commits converge to here then diverge back out
/| branch: release
| | summary: Release v1.1
| |
o | changeset: 3:c89af2b3e8db
| | branch: dev
summary: Merge feature-01
我可以更改我的流程,以便新版本后的第一个功能分支直接从release
分支,但这会使流程更难编写脚本,并将问题延迟到我必须将其合并到dev
:
...
# Start a new feature branch
#hg update dev
#hg update release
hg branch dev # <--- changed
hg branch feature-02
...
因此,如果我使用与上面相同的脚本,但稍微修改一下:
...
# Start a new feature branch
#hg update dev
hg update release # <--- changed to release
hg branch feature-02
...
我收到一个错误:中止:同名分支已存在
我希望这有助于使它更清楚!谢谢你的帮助 完成合并后,只需执行
hg update dev
并开始提交即可。您不需要关闭和重新打开分支。您不需要创建新分支。谢谢Nathan-这听起来像是我问题中的选项(2),这就是我目前正在做的。我不认为它会给出我所追求的“扇入扇出”风格。它会的,如果你不相信我的话,请看带有hg log-G的变更集图。即使您的新更改在dev上,它们仍然是该版本的拓扑子版本。再次感谢。我更新了我的问题,试图让它更清楚。我试过你说的,但没有得到我想要的,所以可能是沟通错误。你能看看我的示例脚本并告诉我如何更改我的玩具示例的命令吗?
...
# Start a new feature branch
#hg update dev
hg update release # <--- changed to release
hg branch feature-02
...
@ changeset: 6:4bcc59fe6ded <---- has the previous `dev` as a parent
|\ branch: dev
| | summary: Merge feature-02
| |
| o changeset: 5:8e117ffe64d0
| | branch: feature-02
| | summary: Add d
| |
| o changeset: 4:c39dae3ff2fa
|/| branch: release
| | summary: Release v1.1
| |
o | changeset: 3:c89af2b3e8db
|\ \ branch: dev
|| | summary: Merge feature-01
...
...
# Start a new feature branch
#hg update dev
#hg update release
hg branch dev # <--- changed
hg branch feature-02
...