SVN 通过Shell Bash 获取项目Reversion号码
Posted Edison韩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN 通过Shell Bash 获取项目Reversion号码相关的知识,希望对你有一定的参考价值。
在项目构建完成后,需要提供当前构建的一个唯一标识的东西,并告诉我们的上线系统,这个唯一标识的东西可以让我们在回退线上版本的时候变得很有用,比如当前上线的是版本1,上线后发现有bug,为了不影响用户的使用,需要临时回退到上一个版本,在上线系统中存在版本0和版本1,这时候我们只需要选择版本0(没bug的版本)重新上线一次就行。
那么这个唯一标识用什么表示好呢?我们现在没有项目版本之说,比如当前版本V0.5.0,采用项目版本迭代管理是最好的,希望领导以后会用。想来想去,选择采用SVN默认提供的Reversion号码,我们可以知道当前构建版本跟SVN仓库有什么关系。
问题来了?如何通过Shell脚本获取到当前项目的SVN Reversion号...在比较新的SVN上有命令 svnversion 可以搞定。在项目根目录执行:
$ svn info svn: E155036: Please see the \'svn upgrade\' command svn: E155036: Working copy \'/home/easwy/dev\' is too old (format 10, created by Subversion 1.6)
错误原因:当前工程副本的SVN版本(远程SVN仓库)比本机的SVN低导致的
解决办法:在当前根目录执行命令 svn upgrade
$ svn upgrade
然后在当前目录执行
$ svnversion
1161M
1161:Reversion号
M:表示当前工作目录副本有修改
参考资料:
https://stackoverflow.com/questions/2299593/using-bash-to-get-revision-number-from-subversion
http://svnbook.red-bean.com/nightly/en/svn.ref.svnversion.re.html
以上是关于SVN 通过Shell Bash 获取项目Reversion号码的主要内容,如果未能解决你的问题,请参考以下文章
在linux终端shell通过svn命令svn log获取的信息里中文部分是乱码,看不出是啥编码格式
如何通过 Shell (BASH/ZSH/SH) 获取文件的绝对路径?