[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