Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 生成hg版本之间更改的文件列表_Version Control_Mercurial - Fatal编程技术网

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

Version control 生成hg版本之间更改的文件列表,version-control,mercurial,Version Control,Mercurial,我想在Mercurial中生成一个列表,列出在给定目录中的两个版本之间更改的文件 特别是,我对更改的内容不感兴趣,而是对该目录中更改的文件感兴趣 例如,假设在then和otherthen之间,仅更改了两个文件: >hg hypothetical-command -r then:otherthen foo.baz bar.baz > 假设的命令是什么?我试过diff和log,但我看不出如何说服他们这么做:要么我得到补丁(diff),要么我得到整个回购(log) 其中,x和y是所需的修

我想在Mercurial中生成一个列表,列出在给定目录中的两个版本之间更改的文件

特别是,我对更改的内容不感兴趣,而是对该目录中更改的文件感兴趣

例如,假设在
then
otherthen
之间,仅更改了两个文件:

>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>
假设的命令是什么?我试过diff和log,但我看不出如何说服他们这么做:要么我得到补丁(diff),要么我得到整个回购(log)

其中,
x
y
是所需的修订号(或标签或分支名称)


如果您在windows中使用终端,请添加
hg status--rev x:y
将列表保存到文件中。

status是您需要的

<>但是,根据你所说的“两个修正”之间的关系,你也可以考虑使用“<强> x:y>强”(DAG有向无环图)范围。 给定并行变更集

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

hg状态——版本1:4
将返回(1,2,3,4), i、 e.根据本地数字版本,端点之间和包括端点的任何内容。这可能(而且很可能)会在其他相关的存储库中返回不同的结果

hg状态——rev 1::4
将返回(1,2,4), i、 e.端点以及作为“1”的后代和“4”的祖先的所有变更集

后一种情况,x::y,通常在实际应用中更有用。这是您通过陆龟视觉差异获得的


>hg帮助集:

“x::y” DAG范围,表示x和x的后代的所有变更集 y的祖先,包括x和y本身。如果第一个端点是 如果第二个是左的,这相当于“祖先(y)” 它相当于“后代(x)”


若要仅查看当前目录中的更改:
hg status--rev x:y.
若要查看最新版本中的更改:
hg status--rev.^
若要仅获取文件名列表(并且没有表示更改类型的前缀字符),请附加
-n
,也就是说,
hg status--rev x:y-n
hg status--change.
中列出了更改的文件,与
hg status--rev.^
的列表相同,但更直接的是,您可能需要显式地包含该命令,这样您的答案就不会依赖于其他更简单的命令。类似于“是的,状态就是您所需要的。例如
hgstatus--revx::y
”。
hg status --rev x:y