【发布时间】:2025-11-23 10:35:01
【问题描述】:
我正在尝试使用hg log 命令来显示一系列修订,x 到 y。
当我这样做时:
hg log -r 1+5
我明白了:
changeset: 1:7320d2a9baa5
user: Tim Post <tpost@whereiwork.com>
date: Fri Sep 30 20:38:29 2011 +0800
summary: Foo foo everywhere is foo
changeset: 5:8d6bea76ce60
user: Tim Post <tpost@whereiwork.com>
date: Fri Sep 30 20:51:42 2011 +0800
summary: Blah blah blah
Mercurial 理解我希望看到修订一 和 五而不是一 到 五。
奇怪的是,这行得通:
hg log -r 1+2+3+4+5
但是,这非常很麻烦,尤其是在尝试获取相距 +500 的修订之间的摘要时。
有没有办法获取修订日志x 通过 y 而不是x 和 y 而无需连接系列中的每个修订?
我正在使用输出来确定每个开发人员在给定系列中做出了多少承诺。如果我根本无法使用hg 命令来做到这一点,那么我非常愿意使用 Mercurial API。我使用了hg 命令,因为我没有看到通过 API 执行此操作的明显方法。
API 是指通过挂钩或扩展使用 Python。
【问题讨论】:
-
你指的是哪个API?我最后一次听说,以编程方式使用 Mercurial 的唯一“稳定”方式 是 通过命令行,这就是最近添加 command server 模式的原因 - 基本上是一种使用命令行的方式,但仅必须根据需要为尽可能多的命令生成一个进程。
-
@Anton The internal one.
-
啊,我明白了。除非您正在编写钩子或扩展,否则我会按照该页面上的建议使用命令行或命令服务器。
-
@Anton 好吧,我正在写的部分内容是一个钩子,这就是为什么我愿意使用它来获取特定数据(但我真的不希望这样做,因为我会做一些事情在我想要一个简单的脚本稍后执行的钩子中)。