Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 哪些分支包含此更改?_Mercurial - Fatal编程技术网

Mercurial 哪些分支包含此更改?

Mercurial 哪些分支包含此更改?,mercurial,Mercurial,很抱歉问了一个愚蠢的问题,但我似乎在任何地方都找不到答案 我有一个庞大而复杂的易变回购协议,上面有十几个分支机构。大约6个月前,我修复了分支a上的一个bug。如何发现其他哪些分支(如果有的话)也包含此更改 一个明显的非答案是在Turtoise Hg中找到更改集,然后手动按照混乱的修订图进行6个月的更改,直到找到我想要的信息。从理论上讲,这是可行的,但是对于一个人来说,用手来做这件事太费时而且容易出错 当然有办法让这一切自动化 顺便说一句,试图找到谷歌搜索词是一个令人沮丧的练习。我想这就是你想要的

很抱歉问了一个愚蠢的问题,但我似乎在任何地方都找不到答案

我有一个庞大而复杂的易变回购协议,上面有十几个分支机构。大约6个月前,我修复了分支a上的一个bug。如何发现其他哪些分支(如果有的话)也包含此更改

一个明显的非答案是在Turtoise Hg中找到更改集,然后手动按照混乱的修订图进行6个月的更改,直到找到我想要的信息。从理论上讲,这是可行的,但是对于一个人来说,用手来做这件事太费时而且容易出错

当然有办法让这一切自动化


顺便说一句,试图找到谷歌搜索词是一个令人沮丧的练习。

我想这就是你想要的命令:

hg log -r "heads(descendants(XXX) or descendants(destination(XXX)) or destination(XXX) or XXX)" -T "{branch}\n"
XXX
必须替换为bugfix变更集的哈希或变更集编号

下面是对上述表达式的解释:

heads(set)       - only considers the heads of the changeset set
descendants(rev) - only considers all direct descendants of the changeset
destination(rev) - only considers grafts, transplants or rebases of the changeset
rev              - that changeset
所以这个表达式的意思是:所有的头都是:

  • 错误修复变更集的后代
  • 错误修复变更集的嫁接、移植或再基的后代
  • 错误修复变更集的嫁接、移植或再基(如果这些变更集没有后代)
  • 错误修复变更集本身(如果这是分支的头)

有关revset的更多信息可以在这里找到:。

我认为这是您想要的命令:

hg log -r "heads(descendants(XXX) or descendants(destination(XXX)) or destination(XXX) or XXX)" -T "{branch}\n"
XXX
必须替换为bugfix变更集的哈希或变更集编号

下面是对上述表达式的解释:

heads(set)       - only considers the heads of the changeset set
descendants(rev) - only considers all direct descendants of the changeset
destination(rev) - only considers grafts, transplants or rebases of the changeset
rev              - that changeset
所以这个表达式的意思是:所有的头都是:

  • 错误修复变更集的后代
  • 错误修复变更集的嫁接、移植或再基的后代
  • 错误修复变更集的嫁接、移植或再基(如果这些变更集没有后代)
  • 错误修复变更集本身(如果这是分支的头)
有关Revset的更多信息,请参见此处: