Package buildbot :: Package slave :: Module commands :: Class SourceBase
[frames | no frames]

Class SourceBase

Command --+
          |
         SourceBase

Known Subclasses:
Arch, CVS, Darcs, Git, Mercurial, Monotone, P4, P4Sync, SVN

Abstract base class for Version Control System operations (checkout and update). This class extracts the following arguments from the dictionary received from the master:
Method Summary
  doClobber(self, dummy, dirname)
  doCopy(self, res)
  doPatch(self, res)
  doVC(self, res)
  doVCFallback2(self, res)
  doVCFull(self)
  doVCUpdate(self)
  interrupt(self)
Override this in a subclass to allow commands to be interrupted.
  maybeDoVCFallback(self, rc)
  maybeDoVCRetry(self, res)
We get here somewhere after a VC chain has finished.
  parseGotRevision(self)
Override this in a subclass.
  setup(self, args)
Override this in a subclass to extract items from the args dict.
  sourcedataMatches(self)
  sourcedirIsUpdateable(self)
  start(self)
Start the command.
  writeSourcedata(self, res)
    Inherited from Command
  __init__(self, builder, stepId, args)
  commandComplete(self, res)
  doInterrupt(self)
  doStart(self)
  sendStatus(self, status)
Send a status update to the master.

Class Variable Summary
str sourcedata = ''
    Inherited from Command
Implements __implemented__ = <implementedBy buildbot.slave.commands...
ClassProvides __providedBy__ = <zope.interface.declarations.ClassProvi...
ClassProvides __provides__ = <zope.interface.declarations.ClassProvide...
bool debug = False
bool interrupted = False
bool running = False

Method Details

interrupt(self)

Override this in a subclass to allow commands to be interrupted. May be called multiple times, test and set self.interrupted=True if this matters.
Overrides:
buildbot.slave.commands.Command.interrupt (inherited documentation)

maybeDoVCRetry(self, res)

We get here somewhere after a VC chain has finished. res could be:
- 0: the operation was successful
- nonzero: the operation failed. retry if possible
- AbandonChain: the operation failed, someone else noticed. retry.
- Failure: some other exception, re-raise

parseGotRevision(self)

Override this in a subclass. It should return a string that represents which revision was actually checked out, or a Deferred that will fire with such a string. If, in a future build, you were to pass this 'got_revision' string in as the 'revision' component of a SourceStamp, you should wind up with the same source code as this checkout just obtained.

It is probably most useful to scan self.command.stdout for a string of some sort. Be sure to set keepStdout=True on the VC command that you run, so that you'll have something available to look at.

If this information is unavailable, just return None.

setup(self, args)

Override this in a subclass to extract items from the args dict.
Overrides:
buildbot.slave.commands.Command.setup (inherited documentation)

start(self)

Start the command. This method should return a Deferred that will fire when the command has completed. The Deferred's argument will be ignored.

This method should be overridden by subclasses.
Overrides:
buildbot.slave.commands.Command.start (inherited documentation)

Class Variable Details

sourcedata

Type:
str
Value:
''                                                                     

Generated by Epydoc 2.1 on Sun Dec 10 22:04:45 2006 http://epydoc.sf.net