summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim Laszlo <tim.laszlo@gmail.com>2010-12-17 17:26:27 -0600
committerTim Laszlo <tim.laszlo@gmail.com>2010-12-18 09:19:42 -0600
commitadbc58cc37668667e626ff7985fa401dc67edf91 (patch)
tree666995e56a8494734b3dd60f9816815a057c9917 /src
parentb84ae0fc40cdbd5b7062c3dff8f649cc0561268c (diff)
downloadbcfg2-adbc58cc37668667e626ff7985fa401dc67edf91.tar.gz
bcfg2-adbc58cc37668667e626ff7985fa401dc67edf91.tar.bz2
bcfg2-adbc58cc37668667e626ff7985fa401dc67edf91.zip
Svn2: Add commit support
Diffstat (limited to 'src')
-rw-r--r--src/lib/Server/Plugins/Svn2.py23
1 files changed, 21 insertions, 2 deletions
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
+
+