Multi Source Control Block

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).


Available from version 1.0


 1<sourcecontrol type="multi">
 2  <sourceControls>
 3    <filesystem>
 4      <!-- Check for changes in the latest 1.2 version of the server... -->
 5      <repositoryRoot>\\DistributionFileServer\Server\1.2.latest</repositoryRoot>
 6    </filesystem>
 7    <cvs>
 8      <!-- ...or in the source of the client project -->
 9      <executable>c:\tools\cvs-exe\cvswithplinkrsh.bat</executable>
10      <workingDirectory>c:\localcvs\myproject\client</workingDirectory>
11    </cvs>
12  </sourceControls>

Configuration Elements

Element Description Type Required Default Version
type The type of source control block. String - must be multi Yes n/a 1.0
dynamicValues The dynamic values to use for the source control block. Dynamic Values array No None 1.5
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 No false 1.0
sourceControls The list of other Source Control Blocks to include. Source Control Blocks array Yes n/a 1.0


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:

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

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

1<sourcecontrol type="multi">
2  <sourceControls>
3    <cvs>
4      <executable>c:\tools\cvs-exe\cvswithplinkrsh.bat</executable>
5      <workingDirectory>c:\localcvs\myproject\client</workingDirectory>
6    </cvs>
7  </sourceControls>

Automatically Generated

Documentation generated on Monday, 26 May 2014 at 7:18:02 AM