使用VaultVersionChecker进行Cruise Control失败:CheckForModifications。可能是存储库路径空间

时间:2012-09-21 14:18:02

标签: .net continuous-integration cruisecontrol.net

我正在将一个项目置于巡航控制.net之下。我正在使用最新的CCNet版本1.8.2.0。该项目不断出现错误

Failing Tasks : VaultVersionChecker: CheckForModifications

挖掘更深的巡航控制试图执行命令

"C:\Program Files (x86)\SourceGear\Vault Client\vault.exe 
versionhistory $/projects/Project Name/Project -rowlimit 1 
-host myhost -user myuser -password ***** -repository "MyRepository" 

如果直接在命令行上运行,则会失败,但是如果我更改它以将存储库包装在撇号中,则可以直接在命令行上执行,即

"C:\Program Files (x86)\SourceGear\Vault Client\vault.exe 
versionhistory "$/projects/Project Name/Project" -rowlimit 1 
-host myhost -user myuser -password ***** -repository "MyRepository" 

所以 - 巡航控制似乎失败了,因为我的存储库文件夹有一个空格,即

$/projects/Project Name/Project

我不愿意更改保险库中的文件夹以使巡航控制工作。奇怪的是,这种设置在之前版本的巡航控制系统中运行得非常好。

此项目的配置是

<project>
    <name>NRE Test</name>
    <!-- Get latest from Vault -->
    <sourcecontrol type="vault" autoGetSource="true" applyLabel="false">
      <executable>C:\Program Files (x86)\SourceGear\Vault Client\vault.exe</executable>
      <username>myuser</username>
      <password>mypassword</password>
      <host>myhost</host>
      <repository>MyRepository</repository>
      <folder>$/projects/Project Name/Project</folder>
      <ssl>false</ssl>
      <cleanCopy>true</cleanCopy>
      <timeout units="minutes">10</timeout>
      <useWorkingDirectory>false</useWorkingDirectory>
      <workingDirectory>C:\Program Files (x86)\CI\CruiseControl.NET\Projects\Project</workingDirectory>
    </sourcecontrol>
    <tasks>
<!-- More tasks -->
    </tasks>
  </project>

所以 - 我是否正确撇号是这里的问题?我怎么能绕过这个?我错过了另一个问题。

非常感谢您的帮助

1 个答案:

答案 0 :(得分:2)

只是一个猜测,但你试过这个:

<sourcecontrol type="vault" autoGetSource="true" applyLabel="false">
  <!-- ... -->
  <folder>"$/projects/Project Name/Project"</folder>
  <!-- ... -->
</sourcecontrol>