0

我有一个奇怪的问题。我正在尝试为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>
4

1 回答 1

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>
于 2013-08-12T10:47:17.197 回答