Search code examples
svncruisecontrolsvnant

CruiseControl modificationSet fails to execute when svn points to a url


In my current CruiseControl setup I am running the following target:

<modificationset quietperiod="30">
       <svn RepositoryLocation="http://my/url/repo/trunk" />
</modificationset>

I do a simple checkin of a blank text file and subsequently the messages I receive in the CruiseControl log are as follows:

[cc]May-13 15:53:56 Project       - Project mine:  bootstrapping
[cc]May-13 15:53:56 jectController- mine Controller: build progress event: bootstrapping
[cc]May-13 15:53:56 Project       - Project mine:  checking for modifications
[cc]May-13 15:53:56 jectController- mine Controller: build progress event: checking for modifications
[cc]May-13 15:53:59 Project       - Project mine:  No modifications found, build not necessary.
[cc]May-13 15:53:59 Project       - Project mine:  idle
[cc]May-13 15:53:59 jectController- connectfour Controller: build progress event: idle
[cc]May-13 15:53:59 Project       - Project mine:  next build in 1 minutes
[cc]May-13 15:53:59 Project       - Project mine:  waiting for next time to build
[cc]May-13 15:53:59 jectController- mine Controller: build progress event: waiting for next time to build

Tortoise: TortoiseSVN 1.6.8, Build 19260 - 32 Bit , 2010/04/16 20:20:11
CruiseControl: 2.8.3


Solution

  • Maybe you need a locally checked out version of the repository so CruiseControl has something to compare to, so it can detect changes?

    The way we do this in our CruiseControl setup:

    We have an initial checkout routine that checks out all the required projects for the build. We use a script/batch file to do this, which operates directly against svn from the command line.

    Then we use the following in our CruiseControl setup file:

    <modificationset quietperiod="60">        
      <svn username="${svn.user}" 
           password="${svn.password}" 
           localWorkingCopy="${dir.checkout}/db4oj" />
    </modificationset>
    

    For every project that we check out we have one svn entry like the above in the modificationset.

    The dir.checkout property will point to a concrete path in the file system.