我正在寻找一种 bash 解决方案,它允许我仅在 ahg pull && hg update
做了某事时才运行命令。
如果 pull 或 update 什么也没做,我不想执行命令。
我怎样才能做到这一点?
我正在寻找一种 bash 解决方案,它允许我仅在 ahg pull && hg update
做了某事时才运行命令。
如果 pull 或 update 什么也没做,我不想执行命令。
我怎样才能做到这一点?
在您的“做了某事”问题中,什么算“某事”?
如果您的意思是“新变更集到达”,您可以通过执行以下操作最轻松地提前测试:
if hg incoming ; then
hg pull
hg update
... other stuff here.
fi
如果您的意思是“工作目录中的文件已更改”,那么您需要检查 hg update 的输出:
hg pull
if test "$(hg update)" != "0 files updated, 0 files merged, 0 files removed, 0 files unresolved" ; then
... other stuff here ...
fi