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の修正としてfilteredを追加しようとしていました。これが現在機能しているものです。これについて正しい方向を示してくれた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 に答える