在 Mercurial (hg) 中,如果出现“hg Push”,如何查看将要推送的文件列表。已发出?

发布于 2024-09-05 20:14:19 字数 146 浏览 3 评论 0原文

我们可以看到所有变更集和涉及使用的文件,

hg outgoing -v

但文件名都分散在变更集列表中。

有没有办法只查看发出 hg Push 时将出去的所有文件的列表?

We can see all the changesets and the files involved using

hg outgoing -v

but the filenames are all scattered in the list of changesets.

Is there a way to just see a list of all the files that will go out if hg push is issued?

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

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

发布评论

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

评论(5

我们的影子 2024-09-12 20:14:19

首先,创建一个包含以下内容的文件:

changeset = "{files}"
file = "{file}\n"

假设您将其命名为 out-style.txt 并将其放入主目录中。然后你可以发出这个命令:

hg -q outgoing --style ~/out-style.txt | sort -u

First, create a file with this content:

changeset = "{files}"
file = "{file}\n"

Let's say you call it out-style.txt and put it in your home directory. Then you can give this command:

hg -q outgoing --style ~/out-style.txt | sort -u
小草泠泠 2024-09-12 20:14:19

一个有点被低估的功能:hg status 可以显示任意变更集之间文件状态变化的信息。这可用于获取修订版 XY 之间更改的文件列表:

hg status --rev X:Y

在这种情况下,我们可以使用 hg Outgoing 来查找第一个传出变更集 X,然后查看

hg status --rev X:

自修订版 X 以来的文件更改。您可以将其合并到 shell 中的一行中:

hg status --rev $(hg outgoing -q --template '{node}' -l 1):

A somewhat under-appreciated feature: hg status can show information about changes in file status between arbitrary changesets. This can be used to get a list of files changed between revisions X and Y:

hg status --rev X:Y

In this case, we can use hg outgoing, to find the first outgoing changeset X and then do

hg status --rev X:

to see the files changes since revision X. You can combine this into a single line in your shell:

hg status --rev $(hg outgoing -q --template '{node}' -l 1):
夏九 2024-09-12 20:14:19

我通常使用

hg outgoing -v | grep files

它使列表更短,但不排序。但到目前为止,我还没有遇到过这样的情况:我想要推动太多(同时检查文件),这会成为一个问题。

[编辑]
执行您想要的操作:

  • 使用 cut 删除 files: 部分
  • 对于包含多个触摸文件的变更集,使用 tr 将它们放在 如下
  • 最后使用 sort 对结果输出进行排序,

所示:

hg outgoing -v |grep files: |cut -c 14- |tr ' ' '\n' |sort -u

您可以将其放入 ~/outgoingfiles.sh 或其他内容中,以使其做好准备。

I usually use

hg outgoing -v | grep files

It makes the listing shorter, but doesnt sort. But thus far I havent been in a situation where I want to push so much (and at the same time check the files) that its been a problem.

[Edit]
To do what you want:

  • Use cut to remove the files: part
  • For changesets with more than one touched file, use tr to put them on separate lines
  • Finally sort the resulting output with sort

Like so:

hg outgoing -v |grep files: |cut -c 14- |tr ' ' '\n' |sort -u

You can put this in ~/outgoingfiles.sh or something to have it nice and ready.

寄风 2024-09-12 20:14:19

我使用 Torgoise Hg,它是一个 shell 扩展,具有“同步”视图,允许您查看传出文件在你推动他们之前。它对于提交和其他事情也很方便。

I use Torgoise Hg, which is a shell extension that has a "synchronize" view allowing you to see outgoing files before you push them. It's convenient for commits as well, and other things.

世界如花海般美丽 2024-09-12 20:14:19

一个简单的 hg out 也可以解决这个问题。
它将列出所有已提交但尚未推送签入的内容。

A simple hg out will also solve this.
It will list all committed but yet to push checkins.

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