我想要一个简单的命令来获取推送到服务器上的可变存储库后不同的文件列表,这就是上一次推送和当前推送之间的区别。在服务器上,我有一个调用 bash 脚本的更改组事件的钩子。$HG_NODE 是更改组中第一次提交的修订版。
我的尝试:
hg status --rev $HG_NODE::
排除在第一次提交中所做的更改
hg status --rev $HG_NODE^1::
包括通过其他推送影响父修订的更改。
hg log -v --rev $HG_NODE:: | grep ^files
包括已提交然后还原的更改,仍然有"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 "修订版和分支(默认)"或 hg log 的分支选项。
至于原因,我需要通过更改来确定自动生成的参数。
hg stat -r
是列出已删除的文件。要获取不同的文件列表,您应该按如下方式使用hg st --rev
。
hg st -m --rev tip^:tip