title: Doing a build when changes happen in either of two repositories AND a file system
body: <p>I have a ccnet project which watches two SVN repositories for changes. Using a source control block of type multi worked fine for that. Now the project needs to watch the two repositories and a file. It needs to only build if one of the two repositories changed <strong>and</strong> the file changed. </p>
  
  <p>I tried nesting a multi source control block in a multi source control block as follows(you may ignore all the variables):</p>
  
  <pre><code>    &lt;sourcecontrol type="multi"&gt;
          &lt;requireChangesFromAll&gt;True&lt;/requireChangesFromAll&gt;
          &lt;sourceControls&gt;
          &lt;sourcecontrol type="multi"&gt;
              &lt;requireChangesFromAll&gt;False&lt;/requireChangesFromAll&gt;
              &lt;sourceControls&gt;            
                  &lt;filtered&gt;              
                      &lt;sourceControlProvider type="svn" autoGetSource="false"&gt;
                         &lt;executable&gt;$(svn-exe)&lt;/executable&gt;
                         &lt;timeout units="minutes"&gt;60&lt;/timeout&gt;
                         &lt;trunkUrl&gt;$(svn-srcmwo)&lt;/trunkUrl&gt;
                         &lt;workingDirectory&gt;$(mwo-localfull)&lt;/workingDirectory&gt;
                      &lt;/sourceControlProvider&gt;
                      &lt;inclusionFilters&gt;
                          &lt;cb:mwo-include-filters/&gt;                       
                      &lt;/inclusionFilters&gt;
                  &lt;/filtered&gt;
                  &lt;filtered&gt;
                      &lt;sourceControlProvider type="svn" autoGetSource="false"&gt;
                          &lt;executable&gt;$(svn-exe)&lt;/executable&gt;
                          &lt;timeout units="minutes"&gt;10&lt;/timeout&gt;
                          &lt;trunkUrl&gt;$(svn-orion)&lt;/trunkUrl&gt;
                          &lt;workingDirectory&gt;$(orion-localfull)&lt;/workingDirectory&gt;
                          &lt;webUrlBuilder type="websvn"&gt;
                              &lt;url&gt;$(viewvc-orion){0}$(viewvc-config)&lt;/url&gt;
                          &lt;/webUrlBuilder&gt;
                      &lt;/sourceControlProvider&gt;
                      &lt;inclusionFilters&gt;
                          &lt;pathFilter&gt;
                              &lt;pattern&gt;$(svn-orion-trunk)&lt;/pattern&gt;
                          &lt;/pathFilter&gt;
                      &lt;/inclusionFilters&gt;
                      &lt;exclusionFilters&gt;
                          &lt;pathFilter&gt;
                              &lt;pattern&gt;$(svn-grsim-makfiles)&lt;/pattern&gt;
                          &lt;/pathFilter&gt;
                      &lt;/exclusionFilters&gt;
                  &lt;/filtered&gt;             
              &lt;/sourceControls&gt;               
          &lt;/sourcecontrol&gt;
          &lt;sourcecontrol type="filesystem"&gt;
              &lt;repositoryRoot&gt;e:\build_listen&lt;/repositoryRoot&gt;
          &lt;/sourcecontrol&gt;
        &lt;/sourceControls&gt;
      &lt;/sourcecontrol&gt;
  </code></pre>
  
  <p>but CCValidator gave the error:</p>
  
  <p><strong>Unused node detected: &lt;sourcecontrol type="filesystem"&gt;&lt;repositoryRoot&gt;e:\build_listen&amp;lt/repositoryRoot&gt;&lt;/sourcecontrol&gt;</strong></p>
  
  <p>Does anyone see how this can be done - doing and AND on a file system and two repositories?</p>