使用过滤器时,CruiseControl.net会更改SVN结帐的工作目录

时间:2013-08-10 11:19:41

标签: cruisecontrol.net

我有一个奇怪的问题。我正在尝试为构建期间签入的versionInfo.txt文件实现SVN过滤器。我在Windows XP SP3上使用CC.NET 1.6

以下是我的XML代码:

将筛选后的标记注释掉后,代码会正确执行并检出所有文件。删除过滤后的代码注释标记后,出现以下错误:

  

“源代码管理操作失败:svn:E155007:'C:\ Build \ AmazingCharts \ working \ checkout'不是工作副本”

请注意,上面的路径在checkout处停止时,它应包含我的工作目录中指定的module1或module2。不知何故,当我指定过滤器时,我的SVN标签中的工作目录被忽略,它似乎只使用全局工作目录。

我如何解决这个问题?我一直在梳理1.6 xsd几个小时,我很难解决这个问题。

<sourcecontrol type="multi">
    <sourceControls>
       <svn>
          <executable>$(SVN_PATH)</executable>
          <trunkUrl>$(SUBVERSION_URL2)</trunkUrl>
          <workingDirectory>$(CHECKOUT_ABS_DIR)\module2</workingDirectory>
          <timeout units="hours">2</timeout>
          <username>$(SVN_USER)</username>
          <password>$(SVN_PWD)</password>
          <autoGetSource>true</autoGetSource>

       </svn>
       <svn>
          <executable>$(SVN_PATH)</executable>
          <trunkUrl>$(SUBVERSION_URL1)</trunkUrl>
          <workingDirectory>$(CHECKOUT_ABS_DIR)\module1</workingDirectory>
          <timeout units="hours">1</timeout>
          <username>$(SVN_USER)</username>
          <password>$(SVN_PWD)</password>
          <autoGetSource>true</autoGetSource>

       </svn>
      <!-- <filtered>
       <sourceControlProvider type="svn"></sourceControlProvider>
       <exclusionFilters>
          <pathFilter>
             <pattern>**/VersionInfo.txt</pattern>
          </pathFilter>
       </exclusionFilters>
       <inclusionFilters></inclusionFilters>
    </filtered>-->
    </sourceControls>            
 </sourcecontrol>

1 个答案:

答案 0 :(得分:0)

我弄清楚了我对语法的误解。我试图添加过滤作为svn的修改。这是现在的工作。我希望我能找到StackOverflow页面,指出我正确的方向,但这就是最终给我清晰的。希望这可以帮助其他人,因为另一页做了我。我们应该如何处理多源控件类型还不是很清楚。

    <sourcecontrol type="multi">
        <sourceControls>
           <multi>
              <sourceControls>
                 <filtered>
                    <sourceControlProvider type="svn" autoGetSource="false">
                       <executable>$(SVN_PATH)</executable>
                       <workingDirectory>$(CHECKOUT_ABS_DIR)\module2</workingDirectory>
                       <timeout units="hours">2</timeout>
                       <trunkUrl>$(SUBVERSION_URL2)</trunkUrl>
                    </sourceControlProvider>
                    <exclusionFilters>
                       <pathFilter>
                          <pattern>**/VersionInfo.txt</pattern>
                       </pathFilter>
                    </exclusionFilters>
                 </filtered>
                 <filtered>
                    <sourceControlProvider type="svn" autoGetSource="false">
                       <executable>$(SVN_PATH)</executable>
                       <workingDirectory>$(CHECKOUT_ABS_DIR)\module1</workingDirectory>
                       <timeout units="hours">2</timeout>
                       <trunkUrl>$(SUBVERSION_URL1)</trunkUrl>
                    </sourceControlProvider>
                    <exclusionFilters>
                       <pathFilter>
                          <pattern>**/VersionInfo.txt</pattern>
                       </pathFilter>
                    </exclusionFilters>
                 </filtered>
              </sourceControls>
           </multi>
        </sourceControls>
     </sourcecontrol>