You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2013/01/06 03:33:39 UTC

svn commit: r1429457 [21/21] - in /subversion/branches/tree-read-api: ./ build/ build/ac-macros/ build/generator/templates/ build/win32/ contrib/server-side/svncutter/ doc/ subversion/bindings/cxxhl/include/ subversion/bindings/cxxhl/include/svncxxhl/ ...

Modified: subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/client.py
URL: http://svn.apache.org/viewvc/subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/client.py?rev=1429457&r1=1429456&r2=1429457&view=diff
==============================================================================
--- subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/client.py (original)
+++ subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/client.py Sun Jan  6 02:33:34 2013
@@ -119,10 +119,15 @@ class XMLStreamHandler(xml.sax.handler.C
 
     self.rev = None
     self.chars = ''
+    self.parent = None
+    self.attrs = [ ] 
 
   def startElement(self, name, attrs):
+    self.attrs = attrs
     if name == 'commit':
       self.rev = Revision(attrs['repository'], int(attrs['revision']))
+    elif name == "dirs_changed" or name == "changed":
+      self.parent = name
     # No other elements to worry about.
 
   def characters(self, data):
@@ -134,10 +139,15 @@ class XMLStreamHandler(xml.sax.handler.C
       self.rev = None
     elif name == 'stillalive':
       self.event_callback('ping')
+    elif name == self.parent:
+      self.parent = None
     elif self.chars and self.rev:
       value = self.chars.strip()
-      if name == 'path':
+      if self.parent == 'dirs_changed' and name == 'path':
         self.rev.dirs_changed.append(value.decode('unicode_escape'))
+      elif self.parent == 'changed' and name == 'path':
+        path = value.decode('unicode_escape')
+        self.rev.changed[path] = dict(p for p in self.attrs.items())
       elif name == 'author':
         self.rev.author = value.decode('unicode_escape')
       elif name == 'date':
@@ -147,6 +157,8 @@ class XMLStreamHandler(xml.sax.handler.C
 
     # Toss out any accumulated characters for this element.
     self.chars = ''
+    # Toss out the saved attributes for this element.
+    self.attrs = [ ]
 
 
 class Revision(object):
@@ -154,6 +166,7 @@ class Revision(object):
     self.uuid = uuid
     self.rev = rev
     self.dirs_changed = [ ]
+    self.changed = { } 
     self.author = None
     self.date = None
     self.log = None

Modified: subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/server.py
URL: http://svn.apache.org/viewvc/subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/server.py?rev=1429457&r1=1429456&r2=1429457&view=diff
==============================================================================
--- subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/server.py (original)
+++ subversion/branches/tree-read-api/tools/server-side/svnpubsub/svnpubsub/server.py Sun Jan  6 02:33:34 2013
@@ -78,7 +78,8 @@ class Revision:
         # thus creating invalid XML, so the XML code paths do escaping.
         self.rev = r.get('revision')
         self.repos = r.get('repos')
-        self.dirs_changed = [x for x in r.get('dirs_changed')]
+        self.dirs_changed = r.get('dirs_changed')
+        self.changed = r.get('changed')
         self.author = r.get('author')
         self.log = r.get('log')
         self.date = r.get('date')
@@ -88,6 +89,7 @@ class Revision:
             return json.dumps({'commit': {'repository': self.repos,
                                           'revision': self.rev,
                                           'dirs_changed': self.dirs_changed,
+                                          'changed': self.changed,
                                           'author': self.author,
                                           'log': self.log,
                                           'date': self.date}}) +","
@@ -100,6 +102,11 @@ class Revision:
             for p in self.dirs_changed:
                 x = ET.SubElement(d, 'path')
                 x.text = p.encode('unicode_escape')
+            ch = ET.SubElement(c, 'changed')
+            for chp in self.changed.keys():
+                x = ET.SubElement(ch, 'path', self.changed[chp])
+                x.text = chp.encode('unicode_escape')
+
             str = ET.tostring(c, 'UTF-8') + "\n"
             return str[39:]
         else:

Propchange: subversion/branches/tree-read-api/tools/server-side/svnpubsub/svntweet.py
------------------------------------------------------------------------------
    svn:executable = *