在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
可以显示有关任意更改集之间文件状态更改的信息。这可用于获取修订版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
也将解决这个问题。它将列出所有已提交但尚未推送的签到。
以上是关于在Mercurial(hg)中,如果发出“hg push”,你如何看到将被推送的文件列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何在“hg com”期间获得mercurial来显示差异?
突击Mercurial SCM(HG)13---回退到指定版本
使用hg convert将git repo转换为mercurial时出错