I had the following problem: my project wsa configured for continuous integration with CruiseControl.NET. It shares source control tree with some frequently updated scripts that are not really related to the project build, but are related to other things around the project, so it makes sense to keep them where they are.
As a result, the project binaries were rebuilt every time the unrelated scripts were changed, creating a lot of noise in the process: release numbers, build logs, SVN tags, and so on, and so forth.
It took me some time to find correct solution: namely, use <sourcecontrol type=”filtered”> instead of SVN. It works like a decorator: you can specify the real source control in the <sourcecontrolProvider> element, and then a set of inclusion and exclusion filters.
A little subtelty: if your SVN url is something like http://whatever/svn/bla/trunk
with folders like src
, and doc
under it, then file names to filter will look like /trunk/src/...
, /trunk/doc/...
.