【问题标题】:How to make mercurial sort the output of `hg log` by commit date?如何按提交日期对`hg log`的输出进行mercurial排序?
【发布时间】:2026-01-06 01:25:01
【问题描述】:

如何按提交日期对hg log 的输出进行 mercurial order?

输出似乎是按我将提交拉入我的存储库的日期而不是提交的日期排序的。

【问题讨论】:

  • 即相当于 git 的 --date-order 的标志。

标签: mercurial


【解决方案1】:

您需要使用修订集:

$ hg log -r 'sort(all(), date)'

如果您想首先查看最近的提交,请执行以下操作:

$ hg log -r 'sort(all(), -date)'

更多详情请见hg help -v revsets

【讨论】:

  • 回答了这个问题,但它与-G 选项不同。
  • 问了一个单独的问题,为图表日志做同样的事情:*.com/questions/47270988/…
  • 我认为 -G 显示除 DAG 顺序之外的任何顺序都没有意义。
  • 在将 DAG 转换为列表时,有很多方法可以做到这一点,但仍然保持子项在其父项之前列出的不变量。由于子提交不能在其父提交之前提交,因此按提交日期排序是这些有效方法之一。 Git 允许您使用 git log --graph --data-order 来执行此操作。
  • 编辑一个提交会改变它的哈希值,所以每个后代提交都需要更新为仍然是新编辑的提交的后代。
最近更新 更多