我想弄清楚,如何获得当前的 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
。更新项目后,它是有效版本。
有没有办法在不更新整个项目的情况下获取当前的真实版本号?
编辑更复杂的例子:
svn update
并获取项目的最新版本:r10
,r11
,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
不允许。
Subversion 中的更新和提交是分开的!这就是为什么在你提交后svn info
会显示10
。
我猜你实际上想使用svnversion
工具。尝试svnversion -c
。
您还可以运行svn update
并检查总是显示的最后一行At revision REVNUM
。
归档时间: |
|
查看次数: |
15006 次 |
最近记录: |