2011-04-29 64 views
3

我有一箇中央hg存儲庫,裏面有多個子項目。有點像這樣:如何使ccnet在單個mercurial repo中獨立更新多個項目?

/Hg_central 
    /subproject-a 
    /subproject-b 
    /... 

我想建立一個cc.net服務器,以便它只在其目錄已更新時才構建一個子項目。

我目前的問題是一旦子項目之一被更新和構建,服務器將不會找到任何其他子項目的修改,因爲mercurial更新了整個存儲庫。 CC.NET不會構建其他子項目,除非另有更新。我試過使用包含過濾器沒有成功。我也無法爲每個子項目分配一個單獨的WorkingDirectory。我錯過了什麼使它成爲可能?

我CCNET配置文件是目前這樣的:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 
<project name="subproject-a"> 
    <workingDirectory>G:\Hg-clone\</workingDirectory> 
    <triggers> 
     <intervalTrigger name="continuous" seconds="60" buildCondition="IfModificationExists" initialSeconds="20" /> 
    </triggers> 
    <sourcecontrol type="filtered"> 
    <inclusionFilters> 
     <pathFilter> 
      <pattern>/subproject-a/**/*</pattern> 
     </pathFilter> 
    </inclusionFilters> 
    <sourceControlProvider type="hg" autoGetSource="true" > 
     <repo>http://myserver/myproject</repo> 
     <multipleHeadsFail>false</multipleHeadsFail> 
    </sourceControlProvider> 
    </sourcecontrol> 
    <tasks> 
     <exec> 
      <executable>mybuild.bat</executable> 
     </exec> 
    </tasks> 
</project> 
<project name="subproject-b"> 
    <workingDirectory>G:\Hg-clone\</workingDirectory> 
    <triggers> 
     <intervalTrigger name="continuous" seconds="60" buildCondition="IfModificationExists" initialSeconds="20" /> 
    </triggers> 
    <sourcecontrol type="filtered"> 
    <inclusionFilters> 
     <pathFilter> 
      <pattern>/subproject-b/**/*</pattern> 
     </pathFilter> 
    </inclusionFilters> 
    <sourceControlProvider type="hg" autoGetSource="true" > 
     <repo>http://myserver/myproject</repo> 
     <multipleHeadsFail>false</multipleHeadsFail> 
    </sourceControlProvider> 
    </sourcecontrol> 
    <tasks> 
     <exec> 
      <executable>mybuild.bat</executable> 
     </exec> 
    </tasks> 
</project> 
</cruisecontrol> 

回答

0

SVN的這就像一個魅力,讓我有點驚訝Mercurial是不是。

無論哪種方式,一種可能的解決方法是定義一個單一的項目,其目的是更新源和所有其他項目應該有該項目Project trigger

HTH

+0

與善變的問題是唯一的,你必須一次更新整個回購無法更新的子目錄下,那麼CC.NET似乎並不正確地處理這個問題。 試過你的解決方案,似乎工作正常! 非常感謝! – TwoMasters 2011-06-06 15:39:18

相關問題