【发布时间】:2015-05-28 09:48:06
【问题描述】:
我正在尝试弄清楚如何获取当前的 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
因为BASE 是r10 而不是他最后一次提交的r11。
是否可以在本地副本中获取当前版本的编号?在这种情况下,更新和提交后是r11。
仅支持 svn 命令,不允许使用 svn update。
【问题讨论】:
标签: svn