检查当前的 SVN 存储库版本

hsz*_*hsz 5 svn

我想弄清楚,如何获得当前的 SVN 存储库版本,但没有运气。

当我尝试:

svn info -r BASE
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

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)
Run Code Online (Sandbox Code Playgroud)

所以周围有很多无用的信息。它也因机器语言而异(英语可以强制在命令前加上LANG=en_US)。

但真正的问题是当我提交一些东西时。输出:

svn commit -m "foo"
Run Code Online (Sandbox Code Playgroud)

是:

Committed revision 11.
Run Code Online (Sandbox Code Playgroud)

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

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

编辑更复杂的例子:

  • 用户 A 调用svn update并获取项目的最新版本:r10,
  • 用户 A 提交了新的更改,记为r11,
  • 用户B更新项目,并承诺未来的变化:r12
  • 用户 A 需要在不更新项目的情况下知道存储库中是否有任何更改,因此他调用:

    svn 日志基础:头

但它显示了太多的输出:

r10
r11
r12
Run Code Online (Sandbox Code Playgroud)

代替:

r11
r12
Run Code Online (Sandbox Code Playgroud)

因为BASE是他最后一次提交r10而不是r11哪个。

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

只支持svn命令,svn update不允许。

bah*_*rep 3