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
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日志基础:头

  • 但它显示了太多的输出:
    r10
    r11
    r12
    

    代替:
    r11
    r12
    

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

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

    仅限 svn 支持命令,不支持 svn update允许。

    最佳答案

  • Updates and commits in Subversion are separate !这就是为什么svn info显示 10在你提交之后。
  • 我猜你实际上想使用 svnversion tool.试试 svnversion -c .
  • 您也可以运行 svn update并检查最后一行总是说 At revision REVNUM .
  • 关于svn - 检查当前的 SVN 存储库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502999/

    相关文章:

    asp.net - 将 ASP.NET 应用程序部署到远程服务器

    android - 我应该在 SVN 上的 Android 项目中忽略哪些文件

    linux - 跨 SVN 更新维护文件权限?

    objective-c - 在 Objective-C 中使用 libsvn(_client)

    iphone - Xcode 在编译和链接时会生成哪些文件?

    svn - 如何创建公共(public) SVN 存储库的私有(private)分支?

    windows - 如何从命令行使用 svn+ssh 和 Tortoise SVN

    java - 如何链接NetBeans中的项目并添加到SVN?

    svn - Jenkins Subversion 错误 - E200015 : No credential to try. 身份验证失败

    SVN 预提交 Hook ,用于避免更改标签子目录