如何在Windows上使用命令行获取svn修订信息

时间:2015-08-20 10:11:16

标签: svn command-line

我试图使用此命令行获取头部的修订信息

svn info https://myserver/branches/Code_Improvements -rHEAD | find "Revision"

但是,这会返回修订版:1234

由于我使用svn info命令的结果在我的批处理文件中设置变量,有没有办法可以得到数字 1234 ,而不是响应修订版:1234

3 个答案:

答案 0 :(得分:7)

  • 将Subversion客户端更新为1.9并使用新的--show-item option

    svn info --show-item=revision URL-to-repository.
    
  • 作为替代方案,您可以使用svn info选项获取--xml的XMLed输出,并使用PowerShell获取修订号。这是一个简单的例子:

    [xml]$revnum = svn info <REPOSITORY-URL> --xml -r HEAD
    $latestrevnum = $revnum.info.entry.revision
    $latestrevnum
    

答案 1 :(得分:0)

我用这个来获取我案例中的修订信息

for /f "delims=: tokens=1,2" %%a in ('svn info %SVN_REPO_URL%') do (
  if "%%a"=="Revision" (
    set /a RELEASE_REVISION=%%b
  )
)

感谢@bahrep提供备用解决方案。但上面的代码段是我用来获取变量中的版本信息。

答案 2 :(得分:0)

为了完整起见,如果你需要获得svn修订版,然后将其设置为批处理文件中的变量(Windows):

FOR /f "delims=" %%R in ('svn info --show-item=revision URL-to-repository') do @set svnRevision=%%R
echo SVN revision: %svnRevision%