生成在hg版本之间更改的文件列表

我想要生成Mercurial中给定目录中两个修订版本之间更改的文件列表。

特别是,我对什么改变不感兴趣,但在那个目录中改变了哪些文件

例如,假设在这之间和之后,只有两个文件改变了:

 >hg hypothetical-command -r then:otherthen foo.baz bar.baz > 

什么是假设的命令? 我尝试了差异和日志,但我不明白如何说服他们这样做:要么我得到补丁(差异),要么我得到整个回购(日志)。

 hg status --rev x:y 

其中xy是所需的修订号(或标签或分支名称)。

如果您在windows中使用terminal,请添加hg status --rev x:y > your-file.txt将列表保存到文件中。

状态是你所需要的。

但是,根据“两次修订之间”的含义,也可以考虑使用“ x :: y ”(DAG指导的非循环图)范围。

给定平行变更集,

1--2---4 \---3

hg status --rev 1:4会返回(1,2,3,4),也就是说根据本地的数值转换,包括端点之间的任何内容。 这可能(也可能会)在其他 – 虽然是相关的 – 库中返回不同的结果!

hg status --rev 1::4将返回(1,2,4),即端点,以及所有作为“1”的后代和“4”的祖先的变更集。

后一种情况x :: y在实际应用中通常更有用。 这是通过TortoiseHg \ Visual Diff获得的。


> hg帮助版本:

“x :: y”一个DAG范围,意味着所有变化集是x和y的后代,包括x和y本身。 如果第一个端点被省略,这相当于“祖先(y)”,如果第二个被省略,则相当于“后代(x)”。