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

发布于 2024-08-16 19:49:54 字数 353 浏览 1 评论 0原文

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

特别是,我对该目录中的什么更改不感兴趣,而是哪些文件发生了更改。

例如,假设在 thenotherthen 之间,只有 2 个文件发生了变化:

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

假设的命令是什么?我已经尝试过 diff 和 log,但我不知道如何说服他们这样做:要么我得到补丁(diff),要么我得到整个 repo(log)。

I want to generate a list of which files changed between two revisions in a given directory in Mercurial.

In particular, I am not interested in what changed, but which files changed in that directory.

E.g., supposing that between then and otherthen, only 2 files changed:

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

What's the hypothetical command? I've tried diff and log, but I can't see how to convince them to do it: either I get the patch(diff), or I get the whole repo(log).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撩发小公举 2024-08-23 19:49:54
hg status --rev x:y

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

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

hg status --rev x:y

where x and y are desired revision numbers (or tag or branch names).

If you are using the terminal in windows add hg status --rev x:y> your-file.txt to save the list to a file.

猫烠⑼条掵仅有一顆心 2024-08-23 19:49:54

状态就是您所需要的。

但是,根据“两个修订之间”的含义,您也可以考虑使用“x::y”(DAG - 有向无环图)范围。

给定并行变更集,

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

hg status --rev 1:4 将返回 (1,2,3,4),
即端点之间(包括端点)的任何内容,根据本地数字rev。这可能(并且很可能会)在其他(尽管相关)存储库中返回不同的结果!

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

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


>hg 帮助转速:

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

status is what you need.

But, depending what you mean by "between two revisions", you might also consider using the "x::y" (DAG - Directed Acyclic Graph) range.

Given parallel changesets,

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

hg status --rev 1:4 would return (1,2,3,4),
i.e. anything between and including the endpoints, according to the local, numerical rev. This might (and most probably will) return different results in other - though related - repositories!

hg status --rev 1::4 would return (1,2,4),
i.e. the endpoints, and all changesets which are descendants of '1' AND ancestors of '4'.

The latter case, x::y, is usually more useful in real-world applications. This is what you get via TortoiseHg\Visual Diff.


>hg help revsets:

"x::y"
A DAG range, meaning all changesets that are descendants of x and
ancestors of y, including x and y themselves. If the first endpoint is
left out, this is equivalent to "ancestors(y)", if the second is left
out it is equivalent to "descendants(x)".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文