#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
http://rubyforge.org/pipermail/cruisecontrolrb-users/2009-August/00...

The code can also be pulled from
http://github.com/codesprinters/cruisecontrol.rb

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

  • 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.