我怎么知道我的工作副本是否不同步

vad*_*raj 5 svn

我们在一些本地目录中保留当前发布代码的映像,并且为了构建代码,我们使用此目录中的代码.在构建脚本中,我需要一种方法来确定image目录中的代码是否与存储库中的当前版本分支同步.如果是这样,我将在脚本中进行svn更新.修订号是否可以某种方式用于检测不同步条件?如果是这样的话?

Vadiraj

Pet*_*nov 12

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

添加工作修订和服务器过时信息.

如果目录中没有非版本化文件,则仅当status命令未返回任何内容时,它才是最新的.否则*意味着它不是最新的,?表示非版本化,M - 修改等.

换句话说,当且仅当以下返回0时,它才是最新的:

svn status -u | grep -E -c "^\s+[^\?]"
Run Code Online (Sandbox Code Playgroud)

  • 我相信正则表达式不正确。如果想法是匹配任何空白行,那么 *、?、M 等。它只匹配一个“?”。替代方法是 svn status -u | wc -l。如果是最新的,则为 1(“针对修订的状态:xxxx”),但如果有任何本地或远程更改,则大于 1。 (2认同)