Rev 1951: Fix build, get more of tree sending fixed. in file:///data/jelmer/bzr-svn/trunk/

Jelmer Vernooij jelmer at samba.org
Mon Oct 6 20:43:36 BST 2008


At file:///data/jelmer/bzr-svn/trunk/

------------------------------------------------------------
revno: 1951
revision-id: jelmer at samba.org-20081006194333-2fo3ak7kt47227p9
parent: jelmer at samba.org-20081006193135-x4cq7m0xb6tyx429
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Mon 2008-10-06 21:43:33 +0200
message:
  Fix build, get more of tree sending fixed.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  subvertpy/subvertpy/server.py  server.py-20081006143330-f9p0l7eih6izgoct-1
=== modified file 'commit.py'
--- a/commit.py	2008-10-06 19:16:01 +0000
+++ b/commit.py	2008-10-06 19:43:33 +0000
@@ -133,7 +133,8 @@
     """
     assert file_editor is not None
     txdelta = file_editor.apply_textdelta()
-    digest = delta.send_stream(StringIO(contents), txdelta)
+    #digest = delta.send_stream(StringIO(contents), txdelta)
+    txdelta(None)
     if 'validate' in debug.debug_flags:
         from fetch import md5_strings
         assert digest == md5_strings(contents)
@@ -278,7 +279,7 @@
         # Handle this directory
         dir_editor_send_changes(old_inv, new_inv, new_child_path, 
                             child_ie.file_id, child_editor, base_url, 
-                            base_revnum, modified_files, visit_dirs)
+                            base_revnum, branch_path, modified_files, visit_dirs)
 
         child_editor.close()
 

=== modified file 'subvertpy/subvertpy/server.py'
--- a/subvertpy/subvertpy/server.py	2008-10-06 19:31:35 +0000
+++ b/subvertpy/subvertpy/server.py	2008-10-06 19:43:33 +0000
@@ -33,6 +33,12 @@
     return str(uuid.uuid4())
 
 
+def txdelta_to_svndiff(delta):
+    ret = "SVN\2"
+    # FIXME
+    return ret
+
+
 class ServerRepositoryBackend:
     
     def get_uuid(self):
@@ -66,6 +72,103 @@
 CAPABILITIES = ["edit-pipeline"]
 MECHANISMS = ["ANONYMOUS"]
 
+class Editor:
+
+    def __init__(self, conn):
+        self.conn = conn
+
+    def set_target_revision(self, revnum):
+        self.conn.send_msg([literal("target-rev"), [revnum]])
+
+    def open_root(self, base_revision=None):
+        id = generate_random_id()
+        if base_revision is None:
+            baserev = []
+        else:
+            baserev = [base_revision]
+        self.conn.send_msg([literal("open-root"), [baserev, id]])
+        return DirectoryEditor(self.conn, id)
+
+    def close(self):
+        self.conn.send_msg([literal("close-edit"), []])
+
+    def abort(self):
+        self.conn.send_msg([literal("abort-edit"), []])
+
+class DirectoryEditor:
+
+    def __init__(self, conn, id):
+        self.conn = conn
+        self.id = id
+
+    def add_file(self, path):
+        child = generate_random_id()
+        self.conn.send_msg([literal("add-file"), [path, self.id, child]])
+        return FileEditor(self.conn, child)
+
+    def open_file(self, path, base_revnum):
+        child = generate_random_id()
+        self.conn.send_msg([literal("open-file"), [path, self.id, child, base_revnum]])
+        return FileEditor(self.conn, child)
+
+    def delete_entry(self, path, base_revnum):
+        self.conn.send_msg([literal("delete-entry"), [path, base_revnum, self.id]])
+
+    def add_directory(self, path):
+        child = generate_random_id()
+        self.conn.send_msg([literal("add-dir"), [path, self.id, child]])
+        return DirectoryEditor(self.conn, child)
+
+    def open_directory(self, path, base_revnum):
+        child = generate_random_id()
+        self.conn.send_msg([literal("open-dir"), [path, self.id, child, base_revnum]])
+        return DirectoryEditor(self.conn, child)
+
+    def change_prop(self, name, value):
+        if value is None:
+            value = []
+        else:
+            value = [value]
+        self.conn.send_msg([literal("change-dir-prop"), [self.id, name, value]])
+
+    def close(self):
+        self.conn.send_msg([literal("close-dir"), [self.id]])
+
+class FileEditor:
+
+    def __init__(self, conn, id):
+        self.conn = conn
+        self.id = id
+
+    def close(self, checksum=None):
+        if checksum is None:
+            checksum = []
+        else:
+            checksum = [checksum]
+        self.conn.send_msg([literal("close-file"), [self.id, checksum]])
+
+    def apply_textdelta(self, base_checksum=None):
+        if base_checksum is None:
+            base_check = []
+        else:
+            base_check = [base_checksum]
+        self.conn.send_msg([literal("apply-textdelta"), [self.id, base_check]])
+        def send_textdelta(delta):
+            if delta is None:
+                self.conn.send_msg([literal("textdelta-end"), [self.id]])
+            else:
+                self.conn.send_msg([literal("textdelta-chunk"), [self.id, txdelta_to_svndiff(delta)]])
+        return send_textdelta
+
+    def change_prop(self, name, value):
+        if value is None:
+            value = []
+        else:
+            value = [value]
+        self.conn.send_msg([literal("change-dir-prop"), [self.id, name, value]])
+
+
+
 
 class SVNServer:
     def __init__(self, backend, recv_fn, send_fn, logf=None):
@@ -198,97 +301,6 @@
 
         self.send_ack()
 
-        class Editor:
-
-            def __init__(self, conn):
-                self.conn = conn
-
-            def set_target_revision(self, revnum):
-                self.conn.send_msg([literal("target-rev"), [revnum]])
-
-            def open_root(self, base_revision=None):
-                id = generate_random_id()
-                if base_revision is None:
-                    baserev = []
-                else:
-                    baserev = [base_revision]
-                self.conn.send_msg([literal("open-root"), [baserev, id]])
-                return DirectoryEditor(self.conn, id)
-
-            def close(self):
-                self.conn.send_msg([literal("close-edit"), []])
-
-            def abort(self):
-                self.conn.send_msg([literal("abort-edit"), []])
-
-        class DirectoryEditor:
-
-            def __init__(self, conn, id):
-                self.conn = conn
-                self.id = id
-
-            def add_file(self, path):
-                child = generate_random_id()
-                self.conn.send_msg([literal("add-file"), [path, self.id, child]])
-                return FileEditor(self.conn, child)
-
-            def open_file(self, path, base_revnum):
-                child = generate_random_id()
-                self.conn.send_msg([literal("open-file"), [path, self.id, child, base_revnum]])
-                return FileEditor(self.conn, child)
-
-            def delete_entry(self, path, base_revnum):
-                self.conn.send_msg([literal("delete-entry"), [path, base_revnum, self.id]])
-
-            def add_directory(self, path):
-                child = generate_random_id()
-                self.conn.send_msg([literal("add-dir"), [path, self.id, child]])
-                return DirectoryEditor(self.conn, child)
-
-            def open_directory(self, path, base_revnum):
-                child = generate_random_id()
-                self.conn.send_msg([literal("open-dir"), [path, self.id, child, base_revnum]])
-                return DirectoryEditor(self.conn, child)
-
-            def change_prop(self, name, value):
-                if value is None:
-                    value = []
-                else:
-                    value = [value]
-                self.conn.send_msg([literal("change-dir-prop"), [self.id, name, value]])
-
-            def close(self):
-                self.conn.send_msg([literal("close-dir"), [self.id]])
-
-        class FileEditor:
-
-            def __init__(self, conn, id):
-                self.conn = conn
-                self.id = id
-
-            def close(self):
-                self.conn.send_msg([literal("close-file"), [self.id]])
-
-            def apply_textdelta(self, base_checksum=None):
-                if base_checksum is None:
-                    base_check = []
-                else:
-                    base_check = [base_checksum]
-                self.conn.send_msg([literal("apply-textdelta"), [self.id, base_check]])
-                def send_textdelta(chunk):
-                    if chunk is None:
-                        self.conn.send_msg([literal("textdelta-end"), [self.id]])
-                    else:
-                        self.conn.send_msg([literal("textdelta-chunk"), [self.id, chunk]])
-                return send_textdelta
-
-            def change_prop(self, name, value):
-                if value is None:
-                    value = []
-                else:
-                    value = [value]
-                self.conn.send_msg([literal("change-dir-prop"), [self.id, name, value]])
-
         if len(rev) == 0:
             revnum = None
         else:




More information about the bazaar-commits mailing list