[Buildbot-commits] buildbot/buildbot/slave commands.py,1.28,1.29

Brian Warner warner at users.sourceforge.net
Tue May 10 08:11:02 UTC 2005


Update of /cvsroot/buildbot/buildbot/buildbot/slave
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31385/buildbot/slave

Modified Files:
	commands.py 
Log Message:
Revision: arch at buildbot.sf.net--2004/buildbot--dev--0--patch-145
Creator:  Brian Warner <warner at monolith.lothar.com>

added 'cogito' support, patch from Brandon Philips

* buildbot/process/step.py (Git): added support for 'cogito' (aka 'git'),
  the new linux kernel VC system (http://kernel.org/git/). Thanks to
  Brandon Philips for the patch.
* buildbot/slave/commands.py (Git): same


Index: commands.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/slave/commands.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- commands.py	3 May 2005 20:02:05 -0000	1.28
+++ commands.py	10 May 2005 08:10:53 -0000	1.29
@@ -811,6 +811,45 @@
 
 registerSlaveCommand("darcs", Darcs, cvs_ver)
 
+class Git(SourceBase):
+    """Git specific VC operation. In addition to the arguments
+    handled by SourceBase, this command reads the following keys:
+
+    ['repourl'] (required): the Cogito repository string
+    """
+
+    header = "git operation"
+
+    def setup(self, args):
+        SourceBase.setup(self, args)
+        self.repourl = args['repourl']
+
+    def sourcedirIsUpdateable(self):
+        if os.path.exists(os.path.join(self.builder.basedir,
+                                       self.srcdir, ".buildbot-patched")):
+            return False
+        return os.path.isdir(os.path.join(self.builder.basedir,
+                                          self.srcdir, ".git"))
+
+    def doVCUpdate(self):
+        d = os.path.join(self.builder.basedir, self.srcdir)
+        command = ['cg-update']
+        c = ShellCommand(self.builder, command, d,
+                         sendRC=False, timeout=self.timeout)
+        self.command = c
+        return c.start()
+
+    def doVCFull(self):
+        d = os.path.join(self.builder.basedir, self.srcdir)
+        os.mkdir(d)
+        command = ['cg-clone', self.repourl]
+        c = ShellCommand(self.builder, command, d,
+                         sendRC=False, timeout=self.timeout)
+        self.command = c
+        return c.start()
+
+registerSlaveCommand("git", Git, cvs_ver)
+
 class Arch(SourceBase):
     """Arch-specific (tla-specific) VC operation. In addition to the
     arguments handled by SourceBase, this command reads the following keys:





More information about the Commits mailing list