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