有时Mercurial分支仍然列为活动状态,即使它的唯一头部已合并到默认分支中。
这是否表明合并出现了问题?如果是这样,怎么解决?或者我假设活动分支的定义是错误的?或者这只是Mercurial中的一个错误?
Mercurial 2.2.2和3.1.2再现了这种行为。
根据hg branches
的文件,
如果分支包含存储库头,则认为该分支是活动的。
--active
选项的帮助内容为:
仅显示具有未合并头部的分支
所描述的行为似乎与此定义相矛盾。该行为还使得确定哪些分支包含未合并的工作变得更加困难。
注意:关于关闭分支的问题 。
更新2 :合并分支上的最后一次更改是另一个方向的合并,即从默认分支到该分支。默认分支包含该合并后的更改集。合并的分支包含该合并之前的变更集。 (这些更改集从默认分支向后移植,不会影响合并回默认值。)
更新:以下是将分支G合并到默认分支之前和之后hg heads
的输出。合并后,分支G仍显示为活动状态,即使其唯一的头部是提示的父级。
在:
changeset: dd6bf181645f
tag: tip
parent: cdeadfa94c87
changeset: 8d7d2f948588
branch: A
parent: 9e938cae8ab4
parent: 05d7f9238e8b
changeset: 05d7f9238e8b
branch: B
parent: 3716c2aa7115
changeset: c559516254e3
branch: C
changeset: 546ef1929720
branch: D
parent: 0e4b1b0b5c39
changeset: 1fafdf04d1b6
branch: E
parent: 7219db98b8b8
changeset: 412946912c1e
branch: F
parent: cdc91f58ce74
changeset: c982081fd14d
branch: G
parent: f053070c2bc1
parent: f69beaac6cbd
changeset: b2bba6063165
branch: H
parent: 051dc556aeee
parent: 7c43b879fd03
changeset: 831e08094998
branch: I
parent: 4ec88e66b4b4
changeset: 7d3c95a762f4
branch: K
changeset: c4a6154688c3
branch: L
parent: 07c30ea698cf
changeset: 10ef18617b02
branch: M
parent: af4eccd4059c
后:
changeset: eb4c4e1b876f
tag: tip
parent: dd6bf181645f
parent: c982081fd14d
changeset: 8d7d2f948588
branch: A
parent: 9e938cae8ab4
parent: 05d7f9238e8b
changeset: 05d7f9238e8b
branch: B
parent: 3716c2aa7115
changeset: c559516254e3
branch: C
changeset: 546ef1929720
branch: D
parent: 0e4b1b0b5c39
changeset: 1fafdf04d1b6
branch: E
parent: 7219db98b8b8
changeset: 412946912c1e
branch: F
parent: cdc91f58ce74
changeset: c982081fd14d
branch: G
parent: f053070c2bc1
parent: f69beaac6cbd
changeset: b2bba6063165
branch: H
parent: 051dc556aeee
parent: 7c43b879fd03
changeset: 831e08094998
branch: I
parent: 4ec88e66b4b4
changeset: 7d3c95a762f4
branch: K
changeset: c4a6154688c3
branch: L
parent: 07c30ea698cf
changeset: 10ef18617b02
branch: M
parent: af4eccd4059c