1

我想以仅显示提交的方式过滤 TortoiseHg 中的提交:

  1. 在不同的命名分支中至少有一个父提交;或者
  2. 在不同的命名分支中至少有一个子提交;或者
  3. 是原来的起点(commit 0);或者
  4. 是命名分支的负责人还是命名分支的关闭提交;

基本上:我怎样才能得到一个简明的图表来显示命名分支是如何流动的?

作为一个例子,我想浓缩这种修订图:

示例修订图

变成省略这些的形式:

  • 修订版 15(绿色)
  • 修订版 14(绿色)
  • 修订版 13(蓝色)
  • 修订版 10(蓝色)
  • 第 7 版(蓝色)
  • 修订版 4(红色)
  • 修订版 1(蓝色)

我尝试使用我在 SoftwareRecs 的这个答案中得到的具体建议:

children(branchpoint() or merge()) or parents(branchpoint() or merge())

然而,这并不像我想要的那样工作,它仍然包括几个没有关于分支的任何细节的提交,并通过显示太早的提交来缩短默认分支:

上述过滤器的结果

如何更改 revset 过滤器以获得更简洁的图表?甚至可能吗?作为一个次优的解决方案,我想如果不区分是否命名分支也是可以接受的。

4

1 回答 1

1

这应该可以为您提供所需的内容,减去分支名称之间的比较:

merge() or parents(merge()) or branchpoint() or children(branchpoint())

这应该为您提供所有合并变更集、合并的直接父项、所有分支点变更集以及分支点的直接子项。

在您问题帖子的示例中,由于您设置的修订集的复合性质,您包括合并变更集的子代和分支点的父代。通过将它们分开,结果会减少一点。

于 2015-06-12T19:48:44.640 回答