如何在 Mercurial 中显示两个修订版之间的历史和祖先更改

How to show history and ancestor changes between two revisions in Mercurial

考虑以下 TortoiseHg 图:

我们希望获得我们代码的两个版本之间的修订历史记录,即标记为 5.5.82 和 5.5.83 的代码。 hg 日志功能的使用非常简单,但它遗漏了一些东西,这还不够完整。我想它甚至可能包括没有合并到 5.5.83 中的东西,如果它们作为 5.5.82 和 5.5.83 之间孤立分支的修订存在的话。

例如:修订版 114。它包含与该提交关联的注释,但该注释中没有任何有趣的内容 - 它只是标准的 "Merge with x" 注释.

有没有办法 运行 hg log 只列出 5.5.83 和 5.5.82 之间的更改,包括可能早于 5.5.82 但在 5.5 之后合并的内容。 82? 100、99、98、97 等等?

我们要做的是为任意修订之间所做的所有更改生成更改日志。有办法吗?

非常感谢

参见 hg help log。您需要的相关选项是:

 -r --rev REV [+]         show the specified revision or revset
 -f --follow              follow changeset history, or file history across
                          copies and renames
 -P --prune REV [+]       do not display revision or any of its ancestors
 -M --no-merges           do not show merges

要查看导致标记 1.02.0 之间更改的所有修订,跳过合并:

hg log -r 2.0 -fMP 1.0

使用模板参数和良好的修订注释,您可以生成类似于带项目符号的发行说明的内容:

hg log -r 2.0 -fMP 1.0 --template "* {desc}\r\n"