我想要一个简单的命令来获取推送到服务器上的mercurial存储库之后不同的文件列表, 这是前一次推送和当前推送之间的差异。 在服务器上,我在changegroup事件上有一个钩子,它调用一个bash脚本。 $ HG_NODE是变更组中第一次提交的修订版。
我的尝试:
hg status --rev $HG_NODE::
排除第一次提交中所做的更改
hg status --rev $HG_NODE^1::
包括通过其他推送影响父修订的更改。
hg log -v --rev $HG_NODE:: | grep ^files
包含已提交然后还原的更改,仍有“文件:”,文件不是每行一个
hg status --rev $HG_NODE:: && hg status change --rev $HG_NODE
不完全给出我想要的内容,而是更改组中第一次提交的父级之间的更改+此更改之间的更改(而不是合并的两个更改集)
hg status --rev some_tag ; hg tag --remove some_tag ; hg tag --local some_tag
(还没试过,这是个好主意吗?)使用本地标签跟踪最后一次推送的头部,每次都更新它。
另外我想只监视默认分支,所以我假设我将使用类似--rev“revision和branch(default)”或hg log的分支选项。
至于为什么,我需要通过更改来确定自动构建的参数。
答案 0 :(得分:0)
hg stat -r
将列出已删除的文件。要获取不同的文件列表,您应该使用hg st --rev
,如下所示。
hg st -m --rev tip^:tip