我们可以看到所有变更集和所涉及的文件
hg outgoing -v
但文件名都分散在变更集列表中。
如果发布hg push
,有没有办法看到所有文件的列表?
首先,使用以下内容创建一个文件:
changeset = "{files}"
file = "{file}\n"
假设您将其命名为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 ' ' '\n' |sort -u
您可以将它放在〜/ outgoingfiles.sh或其他东西中,以使其更好并准备就绪。
一个有点不被重视的功能:hg status
可以显示有关任意更改集之间文件状态更改的信息。这可用于获取修订版X
和Y
之间更改的文件列表:
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
也将解决这个问题。它将列出所有已提交但尚未推送的签到。