在Mercurial(hg)中,如果发出“hg push”,你如何看到将被推送的文件列表?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Mercurial(hg)中,如果发出“hg push”,你如何看到将被推送的文件列表?相关的知识,希望对你有一定的参考价值。

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

hg outgoing -v

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

如果发布hg push,有没有办法看到所有文件的列表?

答案

首先,使用以下内容创建一个文件:

changeset = "{files}"
file = "{file}
"

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

hg -q outgoing --style ~/out-style.txt | sort -u
另一答案

我经常使用

hg outgoing -v | grep files

它使列表更短,但不排序。但到目前为止,我还没有处于这样一种情况,即我想推动这么多(并同时检查文件)这是一个问题。

[编辑]做你想做的事:

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

像这样:

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

您可以将它放在〜/ outgoingfiles.sh或其他东西中,以使其更好并准备就绪。

另一答案

一个有点不被重视的功能: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):
另一答案

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

另一答案

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

以上是关于在Mercurial(hg)中,如果发出“hg push”,你如何看到将被推送的文件列表?的主要内容,如果未能解决你的问题,请参考以下文章

Mercurial(Hg)基本操作

如何在“hg com”期间获得mercurial来显示差异?

突击Mercurial SCM(HG)13---回退到指定版本

使用hg convert将git repo转换为mercurial时出错

hg (Mercurial)multiple heads (hg 多头)

使用 mercurial 的 hg 克隆引发“getaddrinfo failed”错误(Windows 7)