我正在尝试使用此命令行获取头部的修订信息:
svn info https://myserver/branches/Code_Improvements -rHEAD | find "Revision"
然而,这会返回修订版本号:1234
由于我正在使用svn info命令的结果在批处理文件中设置一个变量,所以我是否有办法只获取数字1234,而不是响应修订版本号:1234。
我正在尝试使用此命令行获取头部的修订信息:
svn info https://myserver/branches/Code_Improvements -rHEAD | find "Revision"
然而,这会返回修订版本号:1234
由于我正在使用svn info命令的结果在批处理文件中设置一个变量,所以我是否有办法只获取数字1234,而不是响应修订版本号:1234。
将Subversion客户端更新到1.9,并使用新的 --show-item
选项:
svn info --show-item=revision URL-to-repository.
作为替代方案,您可以使用 --xml
选项获取 svn info
的 XML 输出,并使用 PowerShell 获取修订号。以下是一个简单的示例:
作为替代方案,您可以使用 --xml
选项获取 svn info
的 XML 输出,并使用 PowerShell 获取修订号。以下是一个简单的示例:
[xml]$revnum = svn info <REPOSITORY-URL> --xml -r HEAD
$latestrevnum = $revnum.info.entry.revision
$latestrevnum
svn info --show-item=revision URL-to-repository
是正确的答案。 - Alex Sanséau为了完整起见,如果您需要在批处理文件(Windows)中获取svn版本并将其设置为变量:
FOR /f "delims=" %%R in ('svn info --show-item=revision URL-to-repository') do @set svnRevision=%%R
echo SVN revision: %svnRevision%
我使用这个来获取我的情况下的修订信息
for /f "delims=: tokens=1,2" %%a in ('svn info %SVN_REPO_URL%') do (
if "%%a"=="Revision" (
set /a RELEASE_REVISION=%%b
)
)
感谢@bahrep提供的另一种解决方案。但上面的代码片段是我用来将版本信息存储在变量中的。