'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>
<repositoryRoot>\\DistributionFileServer\Server\1.2.latest</repositoryRoot>
</filesystem>
<cvs>
<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. |