From adbc58cc37668667e626ff7985fa401dc67edf91 Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Fri, 17 Dec 2010 17:26:27 -0600 Subject: Svn2: Add commit support --- src/lib/Server/Plugins/Svn2.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lib/Server/Plugins/Svn2.py b/src/lib/Server/Plugins/Svn2.py index 89b36b89f..d0d7712f5 100644 --- a/src/lib/Server/Plugins/Svn2.py +++ b/src/lib/Server/Plugins/Svn2.py @@ -18,7 +18,7 @@ class Svn2(Bcfg2.Server.Plugin.Plugin, conflicts = ['Svn'] experimental = True - __rmi__ = Bcfg2.Server.Plugin.Plugin.__rmi__ + ['Update'] + __rmi__ = Bcfg2.Server.Plugin.Plugin.__rmi__ + ['Update','Commit'] def __init__(self, core, datastore): Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore) @@ -53,8 +53,18 @@ class Svn2(Bcfg2.Server.Plugin.Plugin, self.revision = None return str(-1) + def commit_changes(self): + """Commit changes into the repository""" + try: + self.revision = self.client.checkin([self.datastore], 'Svn2: autocommit', + recurse=True) + self.revision = self.client.update(self.datastore, recurse=True)[0] + self.logger.info("Svn2: Commited changes. At %s" % self.revision.number) + except: + self.logger.error("Svn2: Failed to commit changes", exc_info=1) + def Update(self): - '''NatvieSvn.Update() => True|False\nUpdate svn working copy\n''' + '''Svn2.Update() => True|False\nUpdate svn working copy\n''' try: old_revision = self.revision.number self.revision = self.client.update(self.datastore, recurse=True)[0] @@ -69,3 +79,12 @@ class Svn2(Bcfg2.Server.Plugin.Plugin, (self.datastore, old_revision, self.revision.number)) return True + def Commit(self): + """Svn2.Commit() => True|False\nCommit svn repository\n""" + try: + self.commit_changes() + return True + except: + return False + + -- cgit v1.2.3-1-g7c22