Hello, I have the following steps to create a release here:
Create a branch from a given URL Checkout a completely new working copy from the release branch Apply some changes so that the executable that will be built contains the svn revision number Commit those changes Build the executable for the release Tag the branch I have thus configured a project in CruiseControl so that the source URL is given as a parameter and with a SVN source block that has its "trunkUrl" property set to the url of the later created release branch. The project is not scheduled to build automatically because it is the user who must specify the parameter. The first step is in "prebuild", the second should be taken care of by the SVN source block, and the remaining steps are in the tasks section. This, however, does not work because CC checks the source for modification, thus calling SVN with the not yet created branch as the URL parameter. Considering that the build is forced, I would have thought that no "check for modification" would be needed, and as such that no calls be made to SVN before the prebuild tasks are even run. To workaround this, I have disabled the SVN taks with autoGetSource set to False and gave it back the real trunk as the trunkUrl parameter value. I don't know if this should be fixed or not, but I just wanted to warn people that despite what the documentation says, the prebuild tasks are not run before all source control process. The check for modification part calls the source control block before prebuild tasks are run. This is legitimate for scheduled tasks where you do not want those prebuild tasks to be run if there are no modifications. But for forced builds, I would have thought that no check for modification was ever done. Regards Olivier
