[Checkins] SVN: z3c.vcsync/trunk/src/z3c/vcsync/svn.py Experimental code to deal with SVN. This is rather hard to test

Martijn Faassen faassen at infrae.com
Wed Jul 4 19:01:57 EDT 2007


Log message for revision 77439:
  Experimental code to deal with SVN. This is rather hard to test
  automatically...
  

Changed:
  U   z3c.vcsync/trunk/src/z3c/vcsync/svn.py

-=-
Modified: z3c.vcsync/trunk/src/z3c/vcsync/svn.py
===================================================================
--- z3c.vcsync/trunk/src/z3c/vcsync/svn.py	2007-07-04 22:51:59 UTC (rev 77438)
+++ z3c.vcsync/trunk/src/z3c/vcsync/svn.py	2007-07-04 23:01:57 UTC (rev 77439)
@@ -13,12 +13,38 @@
     
     It is assumed to be initialized with py.path.svnwc
     """
-    
+
+    def __init__(self, path):
+        super(SvnCheckout, self).__init__(path)
+        self._log_info = {'D':[], 'A':[], 'M':[]}
+      
     def up(self):
+        original_rev = self.path.status().rev
+
         self.path.update()
 
+        now_rev = self.path.status().rev
+        logs = self.path.log(now_rev, original_rev + 1, verbose=True)
+        log_info = {'D': [], 'A': [], 'M':[]}
+        for log in logs:
+            entries = log_info[log.action]
+            for p in log.strpaths:
+                entries.append(py.path.local(p.strpath))
+        self._log_info = log_info
+        
     def resolve(self):
         pass
 
     def commit(self, message):
         self.path.commit(message)
+
+    def added(self):
+        return self._log_info['A']
+    
+    def deleted(self):
+        return self._log_info['D']
+
+    def modified(self):
+        return self._log_info['M']
+
+        



More information about the Checkins mailing list