检查subversion更新

Rob*_*Rob 11 svn

我正在组建一个构建系统,并想知道是否有一种可靠的方法来确定签出的SVN文件夹是否需要更新(即它是否与存储库不同步).除非发生变化,否则我想避免夜间建造.我可以编写一个脚本来解析svn update我猜的命令结果,但我想知道是否有一个命令可以告诉我实际上是否需要更新?

flo*_*olo 17

使用status命令的show updates选项:

svn status -u
Run Code Online (Sandbox Code Playgroud)

要么

svn status --show-updates
Run Code Online (Sandbox Code Playgroud)

  • 我建议-q跳过垃圾文件 (3认同)

jan*_*jan 5

flolo 的答案对于subversion externals 不起作用(这也在Don't show svn:externals in svn status中讨论)。更好的解决方案如果您只需要当前文件夹需要更新的信息(而不确切是哪些文件本身),则此解决方案更好:

cd somedir;
svn info -r HEAD | grep -i "Last Changed Rev"
Last Changed Rev: 8544
svn info | grep -i "Last Changed Rev"
Last Changed Rev: 8531
Run Code Online (Sandbox Code Playgroud)

如果这些数字不相同,则需要更新。