我知道hg log
可以通过调用来颠倒的顺序hg log -r:
。然后最旧的提交在最上面,最新的项目在底部。
graphlog扩展中的hg glog
(或hg log -G
)是否有类似的可能?
不,您无法反转它,但您可以使用该--rev
选项将其限制在一定范围内。
hg glog --rev 0:1
和
hg glog --rev 1:0
两者都显示高于修订版 0 的修订版 1,但您至少看到了输出的结尾。
您不能使用 -G 选项,因为它用于打印“树”(参见 --o--o)。您可以使用来自hg revsets的谓词“排序” :
"sort(set[, [-]key... [, ...]])"
按键设置排序。默认排序顺序为升序,指定一个键为“-key”以降序排序。键可以是:
- "rev" 为修订号,
- 分支名称的“分支”,
- 提交消息(描述)的“desc”,
- “user”为用户名(“author”可用作别名),
- "date" 表示提交日期 "topo" 表示反向拓扑排序
例如 2:以相反的顺序打印最后 10 个提交:
$ hg log --rev 'sort(last(:,10), -rev)'
在哪里:
last(:,10)
修订集从所有提交中获取最后 10 个提交sort(revset, -rev)
以相反的顺序对修订 revset 进行排序例如 1以相反的顺序打印所有不属于基本 repo 的变更集
$ hg log -r "sort(ancestors(.), -rev) and outgoing('ssh://hg@your/external/repo')"
在哪里:
ancestors(.)
修订集从当前分支获取所有提交and outgoing()
导致只保留传出的变更集