[Buildbot-devel] Problem with retry=() without checkout

Brian Warner warner-buildbot at lothar.com
Fri Oct 7 19:02:37 UTC 2005


> I think the logic should be
> checkout with spec'd revision.
> if fails due to local locks, do the svn cleanup
> if fails due to don't have spec'd revision or some network problem, 
> back-off/retry
> if fails for some other reason, do the clobber.
> if it still fails, bail out.

In general, I'm ok with this approach. I'm nervous about adding a whole lot
of complexity into the client, though.

> How does this look? Any objections to using the svn python bindings instead
> of a shell command?

Hrm. I don't want to add a mandatory dependency like that, since far more
systems have /usr/bin/svn than have the python-svn bindings. I definitely
agree that it would be easier to implement with the python bindings (plus
anything that avoids an extra shell command is better under windows, where
you've got no idea what will happen to your arguments by the time they make
it to svn), but I'm hesitant about requiring the buildslave admins to install
packages beyond those they'd usually need to build the packate without the
buildbot. (and of course I'm somewhat biased here, thinking that twisted and
buildbot are packages that everybody has installed anyway, while python-svn
is not :).

I dunno, give me a couple of days to think about it. I would say just code it
up, let's see what it looks like, we could have it try to use the python-svn
bindings if available, and if not fall back to spawning /usr/bin/svn
commands.. except, keeping these two fairly-complex pieces of code in sync is
likely to be a maintenance nightmare, so I'm not convinced that's the way to
go either.

hrm. Indecision is. :).

 -Brian





More information about the devel mailing list