#270 new
Adam Byrtek

[PATCH] do_clean_checkout fixed

Reported by Adam Byrtek | August 14th, 2009 @ 03:38 PM

Configuration option do_clean_checkout doesn't work as described in the documentation. It cannot detect location of the repository and it leaves the application in an inconsistent state (missing work directory for a project and 500 error on a dashboard caused by this).

My patches implement the following changes

  1. Auto-detecting repository location for Subversion based on "svn info" (if :repository option not provided).
  2. Using temporary directory for a clean checkout so that work directory is left intact in case of problems. After a successful checkout the work directory is substituted in one atomic mv operation.

Unit tests were updated as well.

See also

The code can also be pulled from

Comments and changes to this ticket

  • Jarl Friis

    Jarl Friis February 11th, 2010 @ 05:27 AM

    This is an annoying bug. But I somehow also suggest that the summary of the bug is changed to describe the problem, not the solution.


  • Jarl Friis

    Jarl Friis February 11th, 2010 @ 05:35 AM

    By the way, if someone else runs into this problem, here is a solution to get the application (cruisecontrolrb) back in a consistent state (assuming you run cruise in daemon mode as cruise user):
    1) stop cruise control server, that may be sudo /etc/init.d/cruise stop
    2) change directory to /home/cruise/.cruise/projects//
    3) make an svn checkout: sudo -u cruise svn --username <builduser> --password <buildpw> co svn://<server>/path/to/project/ work
    4) restart cruise control server, that may be sudo /etc/init.d/cruise start

    Hope that will help someone out there

  • Jarl Friis

    Jarl Friis February 11th, 2010 @ 05:36 AM

    Something messed up in the previous comment, step 2 should be
    2) change directory to /home/cruise/.cruise/projects/<yourproject>/

  • Adam Byrtek

    Adam Byrtek February 14th, 2010 @ 04:05 PM

    This patch is quite simple, I don't really know why it haven't been applied yet.

  • Oren Ben-Kiki

    Oren Ben-Kiki August 2nd, 2011 @ 03:39 AM

    • Milestone order changed from “0” to “0”

    It has been TWO YEARS since this patch was submitted and it hasn't been applied yet. The documentation for do_clean_checkout hasn't been fixed either.

    When the unwary (such as myself) innocently try using do_clean_checkout, expecting it to "just work", cruisecontrolrb still gets messed up (server dies, project gets mangled).

    Can some kind soul please do something about this?

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.