Задача сообщества msbuild и svn - PullRequest
3 голосов
/ 30 ноября 2011

Я пытаюсь использовать задачи сообщества 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" />

Но это работает некорректно.

Я не понимаю, как правильно установить приложение SVN для MSBuild и не могу найти эту информацию в Google.Кто-нибудь может уточнить это?

Добавлено: Если использовать задачу <SvnCopy SourcePath="$(TrunkPath)" DestinationPath="$(TagPath)" /> VisualSVN работает правильно.

1 Ответ

3 голосов
/ 23 декабря 2011

Ваш $(TagPath) = "..\tags\7.3.2.9" указывает, что это локальный путь. И это то, что говорит ваше сообщение об ошибке:

svn: E205009: Локальные операции без фиксации не принимают сообщения журнала или свойства ревизии

Это означает, что для локальных копий, которые не являются действием фиксации, сообщение журнала бесполезно.

Если вы хотите пометить свою сборку в репозитории, вам необходимо указать путь к репозиторию как $(TagPath), например, file:///C:/repositories/myapp/tags/7.3.2.9 или что-то подобное, начиная с svn://... или http://...., в зависимости от вашей проверки.

...