[Buildbot-devel] cvs on win32

Brian Warner warner-buildbot at lothar.com
Fri Jun 10 00:02:10 UTC 2005


> I've just set up change notification.  Unfortunately, builds triggered 
> by changes don't work on the win32 buildbot slaves.  This is because the 
> cvs command has a -D date option, and the date contains spaces.  These 
> don't appear to be handled correctly.  Am I doing something wrong?

I'm not sure. We've gone back and forth on how to spawn processes under win32
several times. The issue is whether to use cmd.exe or not, and how to pass
the arguments in. I'm pretty sure it all works correctly under unix, where we
can set the argv array directly, but windows is a different world entirely.

Take a look at 0.6.6 vs latest CVS, I think we changed something recently for
this (it would be in buildbot/slave/commands.py if anything), but I'm
honestly not sure if it was a step up or a step down. Maybe one of the more
windows-savvy folks around here can suggest something.

Also note that, as a workaround, you can set the 'alwaysUseCurrent' flag on
the CVS step. That bypasses -D entirely and just always does a checkout of
the most recent code. This runs a slight risk of building an incoherent set
of sources (i.e., if someone commits a change just before you start doing the
CVS checkout), but will probably get rid of the arguments that include
spaces.

Also also, I'm pretty sure I've seen windows cvs mis-handle the -D argument
in the past.. it looked like it was never updating anything, despite a -D
flag several days later than the most recent changes. Unfortunately I wasn't
able to track the problem down further before something made it go away.

cheers,
 -Brian




More information about the devel mailing list