1

给定

---a----b----c----d----e----f (default)
     |  |           |  
     ---g (1.0)     ----h---i---(2.0)

我想知道,对于一个特定的变更集,该变更集是哪个命名分支(在我的情况下是发布)的一部分(命名分支的头部的父级)。

输入 -> 输出

  • a -> 默认, 1.0, 2.0
  • g -> 默认, 1.0, 2.0
  • d -> 默认,2.0
  • e -> 默认
  • h -> 2.0

我怎样才能以最简单的方式做到这一点(我猜是 hg log 祖先的东西?)?我宁愿不将分支名称作为输入,而是动态地使用所有(打开的)命名分支。

4

2 回答 2

1

对于和我有同样问题的其他人......

我发现扩展包含https://bitbucket.org/resi/hg-contains,这正是我想要的。

hg headscontaining -b --revno [changesetId] --template {branches}
于 2013-01-21T16:14:12.667 回答
0
[revsetalias]
bd($1) = descendants($1) - branch(default)

正在使用:hg bd(CSET-ID)

编辑:嗯,我的初始版本比需要的更好(并且不可用) - 它立即返回分支列表,这可能很难用作最终 Mercurial 命令中的修订集。

修改单个操作结果以在模板化日志中使用

hg log -r "bd(CSET)" --template "{branch}\n"

于 2013-01-21T14:46:00.160 回答