[Fwd: Re: [Buildbot-devel] Question about using Subversion]

Brian Warner warner-buildbot at lothar.com
Fri Sep 3 17:06:35 UTC 2004

> Brian, is this intentional behavior for the SVN step?  Would you accept a 
> patch to correct some of these problems and enable a more obvious way to do 
> Subversion exports?

Take a look at current CVS. I merged the CVS and SVN steps properly, and they
now share a "mode=" argument which can be set to "export" to get exactly the
behavior you desire (at the expense of bandwidth, of course, since each build
requires s complete checkout). It can also be set to "update" to do both
source-update and build in the same tree, "clobber" to do blow away the tree
before checkout, and "copy" to do updates in one tree and then copy the
results into a new directory for building.

I think the new scheme makes orders of magnitude more sense than the old one
did, and it gave me an opportunity to bring SVN support up to the same level
of functionality as CVS offers. (by the way, I'm open to a better name than
"clobber".. "full" didn't seem descriptive enough)

As I figure out the other source-control systems (starting with Arch and
Darcs), they'll be laid out the same way. "mode=" replaces export=, clobber=,
and copydir= .

The new CVS/SVN steps are merged on the slave side. On the master side, they
both inherit from ShellCommand (to get some useful status reporting code),
however their constructors bypass ShellCommand.__init__ and go directly to
their grandparent's BuildStep.__init__ instead. This is intentional, as the
actual RemoteCommand which gets executed is CVS/SVN-specific, and the only
purpose of ShellCommand.__init__ is to set up a shell-command-specific
RemoteCommand instance.


More information about the devel mailing list