After changing to CruiseControl.NET 1.4.x, my builds started sending weird Subversion related error messages. You see, my CC.NET server is on a different computer and on a different network than my Subversion repositories server. As a result, CC.NET tries download modifications using the Internet.
If there are any connection problems that lead to a timeout, the build is broken. In older CC.NET versions I could have no Internet for hours, without getting any broken builds or error messages.
CC.NET 1.4.x lets you control the new behavior using three version control related configuration tags on the project level. Here is a portion of a CC.NET configuration file that shows these tags:
Note that the parameters you see above are optimal for my topology. Yours may need different combinations.
maxSourceControlRetries instructs CC.NET how many times to retry if there is a problem communicating with your version control server.
stopProjectOnReachingMaxSourceControlRetries = true tells CC.NET to stop the project after reaching the maxSourceControlRetries. This helps because if the communication problem is permanent, you don’t want CC.NET trying to connect to the version control system again and again.
sourceControlErrorHandling = ReportOnRetryAmount instructs CC.NET to report the error after it reaches the maxSourceControlRetries.
You can find detailed explanation of each of the parameters above in the CC.NET documentation.