【发布时间】:2015-09-04 17:00:13
【问题描述】:
我想要一个简单的命令来获取推送到服务器上的 mercurial 存储库后不同的文件列表, 这就是上一次推送和当前推送的区别。 在服务器上,我对调用 bash 脚本的 changegroup 事件有一个钩子。 $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 and branch(default)" 或 hg log 的分支选项。
至于为什么,我需要通过更改来确定自动构建的参数。
【问题讨论】:
标签: mercurial hook mercurial-hook