Hg:哪个变更集更新?

Hg: Which changeset is newer?

给定两个 hg 变更集 ID(例如,891d791429ab24797c841ee6),是否有一个 hg 命令可以告诉我哪个变更集较新,较新的定义为 'closer to tip' ?

我不想使用修订号或日期。

编辑:

这就是我直觉上定义 'newer' 的方式。我假设(可能不正确)hg 对该概念有一些内部定义。

我假设如果没有办法通过遍历DAG到达比较的提交之一,那么这些提交就不能有顺序,所以B和[的顺序=29=]C 未定义。

至于合并提交,例如 GHI 之后,如果 Hg以某种线性顺序应用 GH 以形成 I,大概是 GHI中合并后应该有一个顺序。但我不知道那是什么。出于我的目的,将它们视为同样新的当然是可以接受的。

抱歉我不清楚。

  • 我想不起为此类任务使用的预定义命令
  • 我想,它可以很容易地通过(必须写)扩展来完成
  • 快速而肮脏的方式 - [alias] 类似 log -r ::tip -T "."`(更长的点线 - 更远的距离)

hg id -r "(891d791429ab|24797c841ee6)-((891d791429ab:tip-24797c841ee6:tip)|(24797c841ee6:tip-891d791429ab:tip))"怎么样?

revset可以简化为(A|B)-((A:tip-B:tip)|(B:tip-A:tip))

((A:tip-B:tip)(B:tip-A:tip)) 之一将为空。另一个将包含 AB,以距离 tip 更远的那个为准(加上 A 和 [=15 之间的任何变更集=]).

当我们从联合 A|B 中减去包含最远尖端变更集的 revset 时,我们最终得到最接近尖端的变更集