检查当前SVN存储库版本
我正试图弄明白,如何获得当前的SVN存储库版本,但运气不好 当我尝试使用:检查当前SVN存储库版本,svn,Svn,我正试图弄明白,如何获得当前的SVN存储库版本,但运气不好 当我尝试使用: svn info -r BASE 我得到以下信息: Path: foo-svn URL: file:///home/hsz/Project/foo-svn Relative URL: ^/ Repository Root: file:///home/hsz/Project/foo-svn Repository UUID: b5555486-2e29-45ed-a0bb-b925095964a9 Revision: 10
svn info -r BASE
我得到以下信息:
Path: foo-svn
URL: file:///home/hsz/Project/foo-svn
Relative URL: ^/
Repository Root: file:///home/hsz/Project/foo-svn
Repository UUID: b5555486-2e29-45ed-a0bb-b925095964a9
Revision: 10
Node Kind: directory
Last Changed Author: hsz
Last Changed Rev: 10
Last Changed Date: 2015-05-28 11:26:50 +0200 (Thu, 28 May 2015)
所以它周围有很多无用的信息。它也因机器语言的不同而有所不同(可以使用LANG=en_US
强制英语前置命令)
但真正的问题是当我做某事的时候。输出:
svn commit -m "foo"
是:
但是svn info
仍然显示有关修订的信息10
。更新项目后,它是有效版本
有没有办法在不更新整个项目的情况下获得当前的真实版本号
编辑更复杂的示例:
- 用户A调用
并获取项目的最新版本:svn update
r10
- 用户提交一个新的更改,该更改被标注为
r11
- 用户B更新项目并提交下一个更改:
r12
- 用户A需要知道在不更新项目的情况下存储库中是否有任何更改,因此他调用: svn日志库:头
r10
r11
r12
而不是:
r11
r12
因为BASE
是r10
而不是他最后一次提交的r11
是否可以在本地副本中获取当前版本的编号?在这种情况下,在更新和提交之后,它是r11
仅支持svn命令,不允许svn更新。
- !!这就是为什么
svn info
在提交后显示10
- 我猜您实际上想使用Try
svversion-c
- 您还可以运行
svn update
,并检查在REVNUM修订版中始终显示的最后一行
要获取回购协议的最新修订号而不首先更新本地副本,请使用-r HEAD
:
svn info -r HEAD
svnversion
看起来不错,但我只能访问svn
命令(我的意思是,我拥有调用的svn
可执行绝对路径,无法获取其他二进制文件的路径)。@hsz使用svnversion
是首选方法。但是,您也可以运行svn update
并检查在修订版N中始终显示的最后一行。
更新项目是不可接受的-我只想通知用户他正在等待更新。@hsz请描述您在问题中的确切需要。现在我可以推荐svn status--show updates--verbose
。更新后,我们得到numberx
,当我们提交某个东西时,它得到x+1
。因此,我希望使用这个x+1
编号,而不是svn log
返回的x
。问题是在执行提交后,我需要知道当前的本地修订编号。
svn info -r HEAD