检查当前的SVN存储库版本

时间:2015-05-28 09:48:06

标签: 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
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"

是:

Committed revision 11.

svn info仍会显示有关修订10的信息。更新项目后,它是有效版本。

有没有办法在不更新整个项目的情况下获取当前的实际版本号?

编辑更复杂的例子:

  • 用户A致电svn update并获取项目的最新版本:r10
  • 用户A提交新的更改,标记为r11
  • 用户B更新项目并提交下一个更改:r12
  • 用户A需要知道存储库中是否有任何更改而不更新项目,因此他调用:

    svn log BASE:HEAD

但它显示的输出太多了:

r10
r11
r12

而不是:

r11
r12

因为BASEr10而不是最后一次提交的r11

是否可以在本地副本中获取CURRENT修订版的编号?在这种情况下,在更新和提交之后,它是r11

仅支持 svn 命令,且不允许svn update

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

要获取您的仓库的最新版本号而不先更新本地副本,请使用T[]... arrays

-r HEAD