#!/usr/bin/python # -*- coding: utf-8 -*- import svn.fs import svn.core import svn.repos from StringIO import StringIO class SvnManager(object): def __init__(self): self._repository_path = None self._repository = None self._fs = None def set_repository(self, path): self._repository_path = path self._repository = svn.repos.open(path) self._fs = svn.repos.fs(self._repository) def get_last_revision(self): return svn.fs.youngest_rev(self._fs) def dump_repository(self): dumpstream = StringIO() feedbackstream = StringIO() rev = self.get_last_revision() svn.repos.dump_fs2(self._repository, dumpstream, feedbackstream, 0, rev, 0, 0, None) self._dump = dumpstream.getvalue() self._feedback = feedbackstream.getvalue() #print self._feedback.count("* Dumped revision " + str(rev)) def save_dump(self, dump_name): filename = open(dump_name, 'w') filename.write(self._dump) filename.flush() filename.close() if __name__ == '__main__': repository = 'repository' filename = 'filename' svn_manager = SvnManager() svn_manager.set_repository(repository) svn_manager.dump_repository() svn_manager.save_dump(filename)
mercoledì 22 dicembre 2010
Dump SVN
Il seguente script permette di eseguire il dump di un repository Subversion (richiede python-subversion installato):
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento