Php – Git log error in PhpUnderControl continuous integration set up

continuous integrationcruisecontrolgitphpundercontrol

So I have set up the following for my PHP project:

  • A Git repository with all the code.
  • An instance of Cruisecontrol with PhpUnderControl running on top of it.

I created a new project in the cruisecontrol project directory and set up a poller to check changes on the git repo every 2 minutes. I have 2 projects running in this Cruisecontrol instance, and the first one I set up works just fine.

The issue I am having with the Platform project looks like this in the error logs:

2010-02-04 06:07:27,076 [Thread-14061] INFO  Project           - Project platform:  bootstrapping  
2010-02-04 06:07:27,077 [Thread-14061] INFO  ProjectController - platform Controller: build progress event: bootstrapping  
2010-02-04 06:07:27,496 [Thread-14061] INFO  GitBootstrapper   - Already up-to-date.  
2010-02-04 06:07:27,500 [Thread-14061] INFO  Project           - Project platform:  checking for modifications  
2010-02-04 06:07:27,500 [Thread-14061] INFO  ProjectController - platform Controller: build progress event: checking for modifications  
2010-02-04 06:07:27,583 [Thread-14063] WARN  Git               - warning: Log for '' only goes back to Tue, 26 Jan 2010 13:43:11 -0500.  
2010-02-04 06:07:27,584 [Thread-14063] WARN  Git               - fatal: Invalid revision range @{ 1264038932}..@{ 1265281647}  
2010-02-04 06:07:27,584 [Thread-14061] INFO  Project           - Project platform:  No modifications found, build not necessary.  
2010-02-04 06:07:27,584 [Thread-14061] INFO  Project           - Project platform:  idle  
2010-02-04 06:07:27,584 [Thread-14061] INFO  ProjectController - platform Controller: build progress event: idle

The strange thing here is that when I check the project directory, the code base gets updated. (I tested with a few small commits in my working directory.) The problem is that this never runs any of the other build processes since Git errors out.

If I go to the projects/platform directory directly and do a git pull, it works fine. Doing an ant build from the project directory also works just fine.

Here are the relevant config files:

<project name="platform" buildafterfailed="false">
    <plugin name="git" classname="net.sourceforge.cruisecontrol.sourcecontrols.Git" />

    <modificationset quietperiod="60">
        <git localWorkingCopy="projects/${project.name}/" />
    </modificationset>

    <bootstrappers>
        <gitbootstrapper localWorkingCopy="projects/${project.name}/" />
    </bootstrappers>

    <schedule interval="120">
        <ant antscript="/usr/bin/ant" buildfile="projects/${project.name}/build.xml" />
    </schedule>

    <listeners>
        <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
    </listeners>

    <log dir="logs/${project.name}">
        <merge dir="projects/${project.name}/build/logs/" />
    </log>

    <publishers>
        <artifactspublisher dir="projects/${project.name}/build/api"
                            dest="artifacts/${project.name}"
                            subdirectory="api"/>
        <artifactspublisher dir="projects/${project.name}/build/coverage"
                            dest="artifacts/${project.name}"
                            subdirectory="coverage"/>
        <execute command="phpuc graph logs/${project.name} artifacts/${project.name}"/>
        <execute command="phpcb 
                          --log projects/${project.name}/build/logs
                          --source projects/${project.name}/lib/model
                          --ouput projects/${project.name}/build/php-code-browser" />
        <artifactspublisher dir="projects/${project.name}/build/php-code-browser"
                            dest="artifacts/${project.name}"
                            subdirectory="php-code-browser" />
    </publishers>
</project>

My searches on the git error haven't given me any good insight, so hopefully someone here knows!

Best Answer

It looks like there is no branch set for git to checkout. I don't know how to fix that right away, but that might be the direction to go.