Dashboard > CruiseControl.NET > ... > Source Control Blocks > Multi Source Control Block
Multi Source Control Block Log In View a printable version of the current page.  
CruiseControl.NET documentation for latest CI builds
Added by Owen Rogers , last edited by Ross Patterson on Apr 28, 2008  (view change) show comment

'Multi' Source Control Configuration Example

You can use the 'Multi' Source Control plugin to check for modifications from any number of source control repositories. You may want to do this if (for example) you want to build if the source for your project changes, or if the binaries your project depends on change (which may be stored on a file server). Here's an example:

<sourcecontrol type="multi">
  <sourceControls>
	<filesystem>
	  <!-- Check for changes in the latest 1.2 version of the server... -->
	  <repositoryRoot>\\DistributionFileServer\Server\1.2.latest</repositoryRoot>
	</filesystem>
	<cvs>
	  <!-- ...or in the source of the client project -->
	  <executable>c:\tools\cvs-exe\cvswithplinkrsh.bat</executable>
	  <workingDirectory>c:\localcvs\myproject\client</workingDirectory>
	</cvs>
  </sourceControls>
</sourcecontrol>

Note that, due to the way the configuration gets parsed, if you are using a "multi" block, then the items within the <sourceControls> element should not be <sourcecontrol> elements (as you may expect). Instead, the name of the element should be the same as you would put in the "type" attribute when using a <sourcecontrol> element.

For example, normally you would point to a cvs repository like this:

<sourcecontrol type="cvs">
  <executable>c:\tools\cvs-exe\cvswithplinkrsh.bat</executable>
  <workingDirectory>c:\localcvs\myproject\client</workingDirectory>
</sourcecontrol>

But inside a <sourcecontrol type="multi"> element, this becomes:

<sourcecontrol type="multi">
  <sourceControls>
    <cvs>
      <executable>c:\tools\cvs-exe\cvswithplinkrsh.bat</executable>
      <workingDirectory>c:\localcvs\myproject\client</workingDirectory>
    </cvs>
  </sourceControls>
</sourcecontrol>

Configuration Elements:

Node Description Type Required Default
sourceControls The list of other Source Control Blocks to include. list of Source Control Blocks true n.a.
requireChangesFromAll If true, only return a list of modifications if all sourceControl sections return a non-empty list. Note that this is short-circuiting, i.e. if the first sourceControl returns an empty list, the next won't be called (this can be useful for situations where you have a slow source control server and you want to check a specific file first as a trigger) boolean false false
Unlike most source control blocks, this one does not support the timeout configuration element.

Powered by a free Atlassian Confluence Open Source Project / Non-profit License granted to ThoughtWorks, Inc.. Evaluate Confluence today.
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators