来自changegroup的Mercurial列表文件

时间:2015-06-18 21:05:29

标签: mercurial hook

我想要一个简单的命令来获取推送到服务器上的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的分支选项。

至于为什么,我需要通过更改来确定自动构建的参数。

1 个答案:

答案 0 :(得分:0)

hg stat -r将列出已删除的文件。要获取不同的文件列表,您应该使用hg st --rev,如下所示。

hg st -m --rev tip^:tip