msbuild社区任务和svn

时间:2011-11-30 10:36:03

标签: svn msbuild msbuildcommunitytasks

我尝试使用svn msbuild社区任务吗?

<SvnCopy SourcePath="$(TrunkPath)" DestinationPath="$(TagPath)" Message="AutoBuild: create tag for build" />

但在日志中有下一个错误:

Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.237]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 30.11.2011 13:16:37.
Project "d:\repository\FusionEnterprise\FusionWebServices\trunk\WebServicesSetu
p.msbuild" on node 1 (CreateSvnTag target(s)).
CreateSvnTag:
  C:\Program Files (x86)\VisualSVN\bin\svn.exe copy "..\trunk" "..\tags\7.3.2.9
  " --message "AutoBuild: create tag for build" --non-interactive --no-
  auth-cache
  svn: E205009: Local, non-commit operations do not take a log message or revis
  ion properties
d:\repository\FusionEnterprise\FusionWebServices\trunk\WebServicesSetup.msbuild
(104,5): error MSB6006: "svn.exe" exited with code 1.
Done Building Project "d:\repository\FusionEnterprise\FusionWebServices\trunk\W
ebServicesSetup.msbuild" (CreateSvnTag target(s)) -- FAILED.


Build FAILED.

"d:\repository\FusionEnterprise\FusionWebServices\trunk\WebServicesSetup.msbuil
d" (CreateSvnTag target) (1) ->
(CreateSvnTag target) ->
  d:\repository\FusionEnterprise\FusionWebServices\trunk\WebServicesSetup.msbui
ld(104,5): error MSB6006: "svn.exe" exited with code 1.

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.20

使用了VisualSVN命令行应用程序。

但是当我在控制台中写道:svn --version时,获取下一个输出

svn, version 1.7.1-SlikSvn-1.7.1-X64 (SlikSvn/1.7.1) X64
   compiled Oct 26 2011, 14:18:24

使用了SlikSvn命令行应用程序。

Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;c:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\SlikSvn\bin;C:\Program Files (x86)\VisualSVN\bin

我尝试使用下一个msbuild任务:

<SvnCopy SourcePath="$(TrunkPath)" DestinationPath="$(TagPath)" Message="AutoBuild: create tag for build" ToolPath="C:\Program Files\SlikSvn\bin\svn.exe" />

<SvnCopy SourcePath="$(TrunkPath)" DestinationPath="$(TagPath)" Message="AutoBuild: create tag for build" ToolPath="C:\Program Files\SlikSvn\bin" />

但它的工作不正确。

我不明白如何为msbuild设置正确的svn应用程序,并且无法在谷歌中找到此信息。 有人可以澄清这个吗?

添加了: 如果使用任务<SvnCopy SourcePath="$(TrunkPath)" DestinationPath="$(TagPath)" /> VisualSVN正常工作。

1 个答案:

答案 0 :(得分:3)

您的$(TagPath) = "..\tags\7.3.2.9"表示这是本地路径。这就是您的错误消息所说的内容:

  

svn:E205009:本地非提交操作不接受日志消息或修订属性

这意味着对于不是提交操作的本地副本,日志消息是无用的。

如果要在存储库中标记构建,则需要提供存储库路径作为$(TagPath)类似file:///C:/repositories/myapp/tags/7.3.2.9之类的内容,或者以svn://...http://....开头的类似内容在结帐时。