Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查当前SVN存储库版本_Svn - Fatal编程技术网

检查当前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存储库版本,但运气不好

当我尝试使用:

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
。更新后,我们得到number
x
,当我们提交某个东西时,它得到
x+1
。因此,我希望使用这个
x+1
编号,而不是
svn log
返回的
x
。问题是在执行提交后,我需要知道当前的本地修订编号。
svn info -r HEAD