Yes. That’s what a colleague was telling me a while ago and today was the day I had to experience it myself.

Despite a later port to .NET, CruiseControl.NET seems to have achieved more in that field than its original home turf, Java.

For example today I needed to tag a repository after a successful build. Well, as of ver. 2.5 CruiseControl does not provide that capability out of the box.

Its .NET brother though seems to have thought about the need to tag an archive after successful builds and therefore comes with this nice tag set:

<sourcecontrol type="svn">
 <trunkUrl>svn://svn.stelligent.com/project/trunk</trunkUrl>
 <workingDirectory>c:/dev/ccnet</workingDirectory>
</sourcecontrol>

The <sourcecontrol> tag supports the following attriubutes:

Node Description Type Default Required
trunkUrl The url for your repository (eg. svn://svnserver/) string N/A false
workingDirectory The directory containing the locally checked out workspace. string N/A false
executable The location of the svn executable string “svn.exe” false
username The username to use for authentication when connecting to the repository. string N/A false
password The password to use for authentication when connecting to the repository. string N/A false
autoGetSource Whether to retrieve the updates from Subversion for a particular build. bool false false
webUrlBuilder The root url for the WebSVN site string N/A false
tagOnSuccess Indicates that the repository should be tagged if the build succeeds. bool false false
tagBaseUrl The base url for tags in your repository. string false false
timeout Sets the timeout period for the source control operation. Timeout 10 minutes false

Of those attributes tagOnSuccess and tagBaseUrl are the two that are needed to tag a source repository after a successful build and unfortunately these along with the entire <sourcecontrol> tag are missing from CruiseControl for Java. Oh well, looks like someone will have to begin exploring command prompt SVN calls to tag the repository.