Version control 生成hg版本之间更改的文件列表
我想在Mercurial中生成一个列表,列出在给定目录中的两个版本之间更改的文件 特别是,我对更改的内容不感兴趣,而是对该目录中更改的文件感兴趣 例如,假设在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是所需的修
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