[Buildbot-commits] [Buildbot] #2357: SVN source step does not support "retry" argument

Buildbot nobody at buildbot.net
Thu Aug 23 07:51:48 UTC 2012


#2357: SVN source step does not support "retry" argument
------------------------+------------------------------
Reporter:  flashm       |      Owner:
    Type:  enhancement  |     Status:  new
Priority:  major        |  Milestone:  undecided
 Version:  0.8.6p1      |   Keywords:  svn source retry
------------------------+------------------------------
 I'm using new master-side SVN source step.
 We have a very big repository with about 40 externals, and update is quite
 often fails because of network issues. It produces false positives and
 after each such failure svn has to be manually cleaned up.

 Unfortunately, new master-side SVN source step doesn't support retry
 argument. The old one is not very good either, because it doesn't clean
 working copy, but wipes everything and performs clean checkout.

 I expect retry to work as follows:
 1. If working copy is not updateable, then perform a fresh sync
 2. If it is updateable, then cleanup everything recursively (including
 externals, which are not automatically cleaned up in svn versions <1.8),
 then try to perform update.

 The main problem is that externals have to be updated recursively. 'svn
 cleanup' command doesn't clean up any externals, and if your externals has
 their own externals, they have to be cleaned as well.

 Trying to solve this problem, I've written a new source step that works as
 I expect. I'll attach it here, for someone might find it useful.

 Please note that this code is very fresh and may contain not yet found
 bugs. Also note that I'm not sure I'm using twisted properly. Anyway, at
 least it seem to work.

 Known problems with this code:
 1. Does not wait before retrying
 2. self.incrementalCallsCount is not resetted properly (it seems that
 buildbot creates new instance for each build, so that's should not be an
 issue)
 3. Almost no comments, sorry, that's "make-it-work-now"-style script. If
 you have any questions, just ask me.

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2357>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list