4

我正在尝试获取项目的修订号并将其保存到变量中。我知道我可以通过 svnversion 命令获取修订号,但我不确定如何存储它。我正在使用常规的 Windows 命令提示符。基本上我正在尝试做类似的事情: set svnVersion= %svnversion% 但我不知道怎么做?

4

7 回答 7

7

要在批处理文件中将变量的输出设置为 svnversion 的输出,您必须这样做:

for /f "delims=" %%a in ('svnversion') do @set myvar=%%a

echo %myvar% 

不同的方法:如果你有 TortoiseSVN,你也可以使用SubWCRev.exe。请参阅 将项目修订号添加到我的项目中?ASP.Net MVC 中的自动 SVN 修订编号

于 2009-03-11T18:07:03.780 回答
3

如果您需要来自远程存储库(如本地未签出),您可以执行此操作

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

我在发布过程中使用它来从标签中获取修订号。

于 2010-03-08T10:28:53.300 回答
2

在 bash 中(通过 Cygwin):

svn info | grep -i "Revision" | cut -d ' ' -f 2

然后,您可以在 bash shell 脚本中使用它来将值存储在变量中。

于 2009-03-11T18:09:35.177 回答
1

“svn info”子命令将告诉您工作副本中的修订号。

于 2009-03-11T17:57:06.843 回答
1

就像是:

svn version > ver.txt
set /p ver= < ver.txt
del ver.txt
echo %ver%
于 2009-03-11T18:09:48.000 回答
0

看看这是否有帮助:更改修订号

于 2009-03-11T18:02:35.367 回答
0

这是使用管道 findstr 获取单行的替代方法:

FOR /F "tokens=2" %%G IN ('svn info ^| findstr /B Revision:') DO SET SVN_REVISION=%%G
echo SVN_REVISION: %SVN_REVISION%

FOR /F "tokens=2" %%G IN ('svn info ^| findstr /B URL:') DO SET SVN_URL=%%G
echo SVN_URL: %SVN_URL%
于 2014-08-19T12:08:29.257 回答