SVN:和 bash:如何判断是否有未提交的更改

标签 svn bash

我试图在 shell 脚本 (linux/bash) 中包含一系列标准步骤,但似乎无法弄清楚如何判断 svn status 的执行是否返回了任何内容。例如

~/sandbox/$svn status
?       pat/foo
~/sandbox/$echo $?
0

如果我删除 foo 文件,那么

svn status

什么都不返回,但是 echo $? 仍然是 0

如果有未提交的更改,我不想执行某些步骤。

不胜感激。

最佳答案

为什么不测试 svn status -q 的结果?像这样的东西:

result=`svn status -q`
[ -z "$result" ] && echo "No changes" && exit 1

echo "Changes found"
exit 0

如果您在您的存储库中使用 svn:externals,请查看下面的评论和答案以了解其他方法。

关于SVN:和 bash:如何判断是否有未提交的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693467/

相关文章:

svn - 使用 SVN 合并跟踪时防止工作副本过时

svn - 修改SVN变更日志

bash - 如何根据 bash 中的列变量解析输入

bash - lsof 应该为一组 pids 提供所有打开的文件

linux - 计算日志中最前面的重复行

svn - Hudson Maven 发布 Subversion

java - 在Subversion/Maven/Hudson中管理大型多模块项目

bash - 在 find + xargs grep 中得到退出代码 123

svn - 不能使用 jenkins 和 Subversion 1.7?任何解决方案?

linux - 带参数运行 shell 脚本