[Buildbot-devel] problem with cvs checkout on windows -> BUGFIX (patch)
Alexander Lorenz
lorenz at testingtech.de
Tue Aug 29 12:01:47 UTC 2006
Alexander Lorenz wrote:
> hello,
>
> i'm having the following problem when trying to run the cvs checkout
> buildstep from step.py on a windows client:
>
> apparently, with windows, the cvs command is not called directly, but
> treated like a shell commands step, thus executed as "cmd.exe /c cvs ...".
> this leads to cmd.exe not resolving the source stamp argument ( -D)
> correctly and passing each part of the date to the cvs command as a
> single argument.
> the result is the cvs command not being able to check out module
> "Monday" etc. , of course.
>
> is there a way to get the cvs command being called directly, not via
> cmd.exe?
>
> another way - probalby better - would be to quote the source stamp.
>
>
> btw, quote from the cvs manual:
>
> "Remember to quote the argument to the -D flag so that your shell
> doesn't interpret spaces as argument separators."
>
>
> ;)
>
>
>
> regards
>
> lx
>
>
hello,
i have now solved abovementioned problem with 'cvs' from cygwin and the
'-D' option (revision date) on a windows slave:
i patched the CVS class in 'slave/commands.py' so that it now
distinguishes between a posix and a windows host, and puts "" around the
cvs date argument for the latter.
i think this would also be uselful to go into the main trunk, sinvce it
corrects an abberation from the cvs standard manual (see above).
what do you think, brian?
regards
lx
Index: buildbot/slave/commands.py
===================================================================
RCS file:
/usr/local/cvs_root/ThirdParty/buildbot/buildbot/slave/commands.py,v
retrieving revision 1.2
diff -u -r1.2 commands.py
--- buildbot/slave/commands.py 15 Mar 2006 15:04:52 -0000 1.2
+++ buildbot/slave/commands.py 29 Aug 2006 11:49:22 -0000
@@ -850,7 +850,11 @@
self.login = args.get('login')
self.sourcedata = "%s\n%s\n%s\n" % (self.cvsroot, self.cvsmodule,
self.branch)
-
+
+ if self.revision:
+ if (runtime.platformType == 'win32'):
+ self.revision = "'" + self.revision + "'"
+
def sourcedirIsUpdateable(self):
if os.path.exists(os.path.join(self.builder.basedir,
self.srcdir, ".buildbot-patched")):
More information about the devel
mailing list