0

我正在寻找一种 bash 解决方案,它允许我仅在 ahg pull && hg update做了某事时才运行命令。

如果 pull 或 update 什么也没做,我不想执行命令。

我怎样才能做到这一点?

4

1 回答 1

2

在您的“做了某事”问题中,什么算“某事”?

如果您的意思是“新变更集到达”,您可以通过执行以下操作最轻松地提前测试:

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
于 2013-07-09T01:20:23.877 回答