Rev 1202: Fix bug in new simple commit editor, use commit editor in logwalker tests. in file:///data/jelmer/bzr-svn/fast-tests/

Jelmer Vernooij jelmer at samba.org
Thu Jun 5 03:09:24 BST 2008


At file:///data/jelmer/bzr-svn/fast-tests/

------------------------------------------------------------
revno: 1202
revision-id: jelmer at samba.org-20080605020924-lzzzbdqownex1klq
parent: jelmer at samba.org-20080605004159-7aeddqhmuj79qkmt
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: fast-tests
timestamp: Thu 2008-06-05 04:09:24 +0200
message:
  Fix bug in new simple commit editor, use commit editor in logwalker tests.
modified:
  tests/__init__.py              __init__.py-20060508151940-e9f4d914801a2535
  tests/test_logwalker.py        test_logwalker.py-20060622141944-pkocc3rj8g62ukbi-1
=== modified file 'tests/__init__.py'
--- a/tests/__init__.py	2008-06-05 00:41:59 +0000
+++ b/tests/__init__.py	2008-06-05 02:09:24 +0000
@@ -19,6 +19,9 @@
 import os
 import sys
 import bzrlib
+
+from cStringIO import StringIO
+
 from bzrlib import osutils, urlutils
 from bzrlib.bzrdir import BzrDir
 from bzrlib.tests import TestCaseInTempDir, TestSkipped
@@ -336,7 +339,9 @@
                 self.props[path][propname] = propval
 
             def change_file_prop(self, path, propname, propval):
-                self.open_file(path)
+                parts = self._parts(path)
+                x = self.open_dir("/".join(parts[:-1]))
+                x[parts[-1]] = ()
                 if not path in self.props:
                     self.props[path] = {}
                 self.props[path][propname] = propval
@@ -345,7 +350,7 @@
                 for name, contents in dir_dict.items():
                     subpath = urlutils.join(path, name).strip("/")
                     if contents is None:
-                        svn.delta.editor_invoke_delete_entry(self.editor, dir_baton, subpath)
+                        svn.delta.editor_invoke_delete_entry(self.editor, subpath, -1, dir_baton)
                     elif isinstance(contents, dict):
                         if subpath in self.create:
                             child_baton = svn.delta.editor_invoke_add_directory(self.editor, subpath, dir_baton, self.copyfrom[subpath][0], self.copyfrom[subpath][1])
@@ -353,17 +358,19 @@
                             child_baton = svn.delta.editor_invoke_open_directory(self.editor, subpath, dir_baton, -1)
                         if subpath in self.props:
                             for k, v in self.props[subpath].items():
-                                svn.delta_editor_invoke_change_dir_prop(self.editor, child_baton, k, v)
+                                svn.delta.editor_invoke_change_dir_prop(self.editor, child_baton, k, v)
 
                         self._process_dir(child_baton, dir_dict[name], subpath)
 
                         svn.delta.editor_invoke_close_directory(self.editor, child_baton)
-                    elif isinstance(contents, str):
+                    else:
                         if subpath in self.create:
                             child_baton = svn.delta.editor_invoke_add_file(self.editor, subpath, dir_baton, None, -1)
                         else:
                             child_baton = svn.delta.editor_invoke_open_file(self.editor, subpath, dir_baton, -1)
-                         # FIXME
+                        if isinstance(contents, str):
+                            (txdelta, txbaton) = svn.delta.editor_invoke_apply_textdelta(self.editor, child_baton, None)
+                            svn.delta.svn_txdelta_send_stream(StringIO(contents), txdelta, txbaton)
                         if subpath in self.props:
                             for k, v in self.props[subpath].items():
                                 svn.delta.editor_invoke_change_file_prop(self.editor, child_baton, k, v)

=== modified file 'tests/test_logwalker.py'
--- a/tests/test_logwalker.py	2008-06-04 15:20:12 +0000
+++ b/tests/test_logwalker.py	2008-06-05 02:09:24 +0000
@@ -33,52 +33,51 @@
         return logwalker.LogWalker(transport)
 
     def test_create(self):
-        repos_url = self.make_client("a", "ac")
+        repos_url = self.make_repository("a")
         self.get_log_walker(transport=SvnRaTransport(repos_url))
 
     def test_get_branch_log(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/foo': "data"})
-        self.client_add("dc/foo")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_file("foo")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(2, len(list(walker.iter_changes(None, 1))))
 
     def test_get_branch_follow_branch(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/foo': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_update("dc")
-
-        os.mkdir("dc/branches")
-        self.client_add("dc/branches")
-        self.client_commit("dc", "Add branches")
-        self.client_update("dc")
-
-        self.client_copy("dc/trunk", "dc/branches/foo")
-        self.client_commit("dc", "Copy")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
+        
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches/foo", "trunk")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(2, len(list(walker.iter_changes(["branches/foo"], 3))))
 
     def test_get_branch_follow_branch_changing_parent(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/foo': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_update("dc")
-
-        os.mkdir("dc/branches")
-        self.client_add("dc/branches")
-        self.client_commit("dc", "Add branches")
-        self.client_update("dc")
-
-        self.client_copy("dc/trunk", "dc/branches/abranch")
-        self.client_commit("dc", "Copy")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/foo")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches/abranch", "trunk")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -89,52 +88,53 @@
             ], [l[:2] for l in walker.iter_changes(["branches/abranch/foo"], 3)])
 
     def test_get_revision_paths(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/foo': "data"})
-        self.client_add("dc/foo")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_file("foo")
+        cb.done()
         walker = self.get_log_walker(SvnRaTransport(repos_url))
         self.assertEqual({"foo": ('A', None, -1)}, walker.get_revision_paths(1))
-        self.assertEqual({"foo": ('A', None, -1)}, walker.get_revision_paths(1))
         self.assertEqual({"": ('A', None, -1)}, walker.get_revision_paths(0))
 
     def test_get_revision_paths_zero(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
         walker = self.get_log_walker(SvnRaTransport(repos_url))
         self.assertEqual({'': ('A', None, -1)}, walker.get_revision_paths(0))
 
     def test_get_revision_paths_invalid(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
         walker = self.get_log_walker(SvnRaTransport(repos_url))
         self.assertRaises(NoSuchRevision, lambda: walker.get_revision_paths(42))
 
     def test_get_branch_invalid_revision(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
         self.assertRaises(NoSuchRevision, list, 
                           walker.iter_changes(["/"], 20))
 
     def test_branch_log_all(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/file': "data", "dc/foo/file":"data"})
-        self.client_add("dc/trunk")
-        self.client_add("dc/foo")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/file")
+        cb.add_dir("foo")
+        cb.add_file("foo/file")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(2, len(list(walker.iter_changes([""], 1))))
 
     def test_branch_log_specific(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({
-            'dc/branches': None,
-            'dc/branches/brancha': None,
-            'dc/branches/branchab': None,
-            'dc/branches/brancha/data': "data", 
-            "dc/branches/branchab/data":"data"})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_dir("branches/brancha")
+        cb.add_dir("branches/branchb")
+        cb.add_dir("branches/branchab")
+        cb.add_file("branches/brancha/data")
+        cb.add_file("branches/branchab/data")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -142,19 +142,17 @@
             1))))
 
     def test_iter_changes_ignore_unchanged(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.build_tree({
-            'dc/branches/brancha': None,
-            'dc/branches/branchab': None,
-            'dc/branches/brancha/data': "data", 
-            "dc/branches/branchab/data":"data"})
-        self.client_add("dc/branches/brancha")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_dir("branches/brancha")
+        cb.add_dir("branches/branchab")
+        cb.add_file("branches/brancha/data")
+        cb.done()
 
-        self.client_add("dc/branches/branchab")
-        self.client_commit("dc", "My Message2")
+        cb = self.commit_editor(repos_url)
+        cb.add_file("branches/branchab/data")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -162,20 +160,20 @@
             2))))
 
     def test_find_latest_none(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(1, walker.find_latest_change("", 1))
     
     def test_find_latest_children_root(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': "bla"})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_file("branches")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -183,14 +181,16 @@
             walker.find_latest_change("", 1))
 
     def test_find_latest_case(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches/child': "bla"})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-        self.client_update("dc")
-        self.build_tree({'dc/BRANCHES/child': "bar"})
-        self.client_add("dc/BRANCHES")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_file("branches/child")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("BRANCHES")
+        cb.add_file("BRANCHES/child")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -198,54 +198,70 @@
             walker.find_latest_change("branches", 2))
 
     def test_find_latest_parent(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches/tmp/foo': None, 'dc/tags': None})
-        self.client_add("dc/branches")
-        self.client_add("dc/tags")
-        self.client_commit("dc", "My Message")
-        self.client_copy("dc/branches/tmp", "dc/tags/tmp")
-        self.client_commit("dc", "My Message2")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_dir("tags")
+        cb.add_dir("branches/tmp")
+        cb.add_dir("branches/tmp/foo")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("tags/tmp", "branches/tmp")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(2, walker.find_latest_change("tags/tmp/foo", 2))
 
     def test_find_latest_parent_just_modify(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches/tmp/foo': None, 'dc/tags': None})
-        self.client_add("dc/branches")
-        self.client_add("dc/tags")
-        self.client_commit("dc", "My Message")
-        self.client_copy("dc/branches/tmp", "dc/tags/tmp")
-        self.client_commit("dc", "My Message2")
-        self.client_update("dc")
-        self.client_set_prop("dc/tags", "myprop", "mydata")
-        self.client_commit("dc", "My Message3")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_dir("branches/tmp")
+        cb.add_dir("branches/tmp/foo")
+        cb.add_dir("tags")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("tags/tmp", "branches/tmp")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("tags", "myprop", "mydata")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
         self.assertEqual(2, walker.find_latest_change("tags/tmp/foo", 3))
 
     def test_find_latest_parentmoved(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches/tmp': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-
-        self.client_copy("dc/branches", "dc/bla")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_dir("branches/tmp")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("bla", "branches")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertIs(2, walker.find_latest_change("bla/tmp", 2))
 
     def test_find_latest_nonexistant(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches/tmp': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-
-        self.client_copy("dc/branches", "dc/bla")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.add_dir("branches/tmp")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("bla", "branches")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -253,86 +269,104 @@
         self.assertIs(None, walker.find_latest_change("bloe/bla", 2))
 
     def test_find_latest_change(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(1, walker.find_latest_change("branches", 1))
 
     def test_find_latest_change_children(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/branches/foo': 'data'})
-        self.client_add("dc/branches/foo")
-        self.client_commit("dc", "My Message2")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_file("branches/foo")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(2, walker.find_latest_change("branches", 2))
 
     def test_find_latest_change_prop(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/branches/foo': 'data'})
-        self.client_set_prop("dc/branches", "myprop", "mydata")
-        self.client_commit("dc", "propchange")
-        self.client_add("dc/branches/foo")
-        self.client_commit("dc", "My Message2")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("branches", "myprop", "mydata")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_file("branches/foo")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(3, walker.find_latest_change("branches", 3))
 
     def test_find_latest_change_file(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/branches/foo': 'data'})
-        self.client_add("dc/branches/foo")
-        self.client_commit("dc", "propchange")
-        self.build_tree({'dc/branches/foo': 'data4'})
-        self.client_commit("dc", "My Message2")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_file("branches/foo")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_file("branches/foo")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(3, walker.find_latest_change("branches/foo", 3))
 
     def test_find_latest_change_newer(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/branches': None})
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/branches/foo': 'data'})
-        self.client_add("dc/branches/foo")
-        self.client_commit("dc", "propchange")
-        self.build_tree({'dc/branches/foo': 'data4'})
-        self.client_commit("dc", "My Message2")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_file("branches/foo")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_file("branches/foo")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(2, walker.find_latest_change("branches/foo", 2))
 
     def test_follow_history_branch_replace(self):
-        repos_url = self.make_client("a", "dc")
-
-        self.build_tree({'dc/trunk/data': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "Cm1")
-
-        self.client_delete("dc/trunk")
-        self.client_commit("dc", "Cm1")
-
-        self.build_tree({'dc/trunk/data': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "Cm1")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/data")
+        cb.done()
+        
+        cb = self.commit_editor(repos_url)
+        cb.delete("trunk")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/data")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
         self.assertEqual([({"trunk/data": ('A', None, -1),
@@ -340,31 +374,31 @@
                                      [l[:2] for l in walker.iter_changes(["trunk"], 3)])
 
     def test_follow_history(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
-        self.build_tree({'dc/foo': "data"})
-        self.client_add("dc/foo")
-        self.client_commit("dc", "My Message")
+        cb = self.commit_editor(repos_url)
+        cb.add_file("foo")
+        cb.done()
 
         for (paths, rev, revprops) in walker.iter_changes([""], 1):
             self.assertTrue(rev == 0 or paths.has_key("foo"))
             self.assertTrue(rev in (0,1))
 
     def test_follow_history_nohist(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual([({'': ('A', None, -1)}, 0)], [l[:2] for l in walker.iter_changes([""], 0)])
 
     def test_later_update(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
-        self.build_tree({'dc/foo': "data"})
-        self.client_add("dc/foo")
-        self.client_commit("dc", "My Message")
+        cb = self.commit_editor(repos_url)
+        cb.add_file("foo")
+        cb.done()
 
         for (paths, rev, revprops) in walker.iter_changes([""], 1):
             self.assertTrue(rev == 0 or paths.has_key("foo"))
@@ -374,14 +408,16 @@
         self.assertRaises(NoSuchRevision, list, iter)
 
     def test_get_branch_log_follow(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/afile': "data", "dc/branches": None})
-        self.client_add("dc/trunk")
-        self.client_add("dc/branches")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_dir("branches")
+        cb.add_file("trunk/afile")
+        cb.done()
 
-        self.client_copy("dc/trunk", "dc/branches/abranch")
-        self.client_commit("dc", "Create branch")
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("branches/abranch", "trunk")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -392,75 +428,94 @@
                                      'trunk': (u'A', None, -1)}, 1)], items)
 
     def test_get_previous_root(self):
-        repos_url = self.make_client("a", "dc")
+        repos_url = self.make_repository("a")
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual((None, -1), walker.get_previous("", 0))
 
     def test_get_previous_simple(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/afile': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/trunk/afile': "data2"})
-        self.client_set_prop("dc/trunk", "myprop", "mydata")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/file")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_file("trunk/afile")
+        cb.change_dir_prop("trunk", "myprop", "mydata")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(("trunk", 1), walker.get_previous("trunk", 2))
 
     def test_get_previous_added(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/afile': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/trunk/afile': "data2"})
-        self.client_set_prop("dc/trunk", "myprop", "mydata")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/afile")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_file("trunk/afile")
+        cb.change_dir_prop("trunk", "myprop", "mydata")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual((None, -1), walker.get_previous("trunk", 1))
 
     def test_get_previous_copy(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/afile': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_copy("dc/trunk", "dc/anotherfile")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/afile")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("anotherfile", "trunk")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(("trunk", 1), walker.get_previous("anotherfile", 2))
 
     def test_find_children_empty(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk': None})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual([], list(walker.find_children("trunk", 1)))
 
     def test_find_children_one(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/data': 'foo'})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/data")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(['trunk/data'], list(walker.find_children("trunk", 1)))
 
     def test_find_children_nested(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/data/bla': 'foo', 'dc/trunk/file': 'bla'})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_dir("trunk/data")
+        cb.add_file("trunk/data/bla")
+        cb.add_file("trunk/file")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -469,14 +524,18 @@
                 set(walker.find_children("trunk", 1)))
 
     def test_find_children_later(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/data/bla': 'foo'})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.build_tree({'dc/trunk/file': 'bla'})
-        self.client_add("dc/trunk/file")
-        self.client_commit("dc", "My Message")
-
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_dir("trunk/data")
+        cb.add_file("trunk/data/bla")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_file("trunk/file")
+        cb.done()
+        
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
         self.assertEqual(set(['trunk/data', 'trunk/data/bla']), 
@@ -485,14 +544,20 @@
                 set(walker.find_children("trunk", 2)))
 
     def test_find_children_copy(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/data/bla': 'foo',
-                         'dc/trunk/db/f1': 'bloe',
-                         'dc/trunk/db/f2': 'bla'})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_copy("dc/trunk/db", "dc/trunk/data/fg")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_dir("trunk/data")
+        cb.add_dir("trunk/db")
+        cb.add_file("trunk/data/bla")
+        cb.add_file("trunk/db/f1")
+        cb.add_file("trunk/db/f2")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk/data/fg", "trunk/db")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -503,16 +568,24 @@
                 set(walker.find_children("trunk", 2)))
 
     def test_find_children_copy_del(self):
-        repos_url = self.make_client("a", "dc")
-        self.build_tree({'dc/trunk/data/bla': 'foo',
-                         'dc/trunk/db/f1': 'bloe',
-                         'dc/trunk/db/f2': 'bla'})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_copy("dc/trunk/db", "dc/trunk/data/fg")
-        self.client_commit("dc", "My Message")
-        self.client_delete("dc/trunk/data/fg/f2")
-        self.client_commit("dc", "My Message")
+        repos_url = self.make_repository("a")
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_dir("trunk/data")
+        cb.add_file("trunk/data/bla")
+        cb.add_dir("trunk/db")
+        cb.add_file("trunk/db/f1")
+        cb.add_file("trunk/db/f2")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk/data/fg", "trunk/db")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.delete("trunk/data/fg/f2")
+        cb.done()
 
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
 
@@ -522,30 +595,48 @@
                 set(walker.find_children("trunk", 3)))
 
     def test_fetch_property_change_only_trunk(self):
-        repos_url = self.make_client('d', 'dc')
-        self.build_tree({'dc/trunk/bla': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_set_prop("dc/trunk", "some:property", "some data\n")
-        self.client_commit("dc", "My 3")
-        self.client_set_prop("dc/trunk", "some2:property", "some data\n")
-        self.client_commit("dc", "My 2")
-        self.client_set_prop("dc/trunk", "some:property", "some data4\n")
-        self.client_commit("dc", "My 4")
+        repos_url = self.make_repository('d')
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/bla")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("trunk", "some:property", "some data\n")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("trunk", "some2:property", "some data\n")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("trunk", "some:property", "some data4\n")
+        cb.done()
+
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
         self.assertEquals({'trunk': ('M', None, -1)}, walker.get_revision_paths(3))
 
     def test_iter_changes_property_change(self):
-        repos_url = self.make_client('d', 'dc')
-        self.build_tree({'dc/trunk/bla': "data"})
-        self.client_add("dc/trunk")
-        self.client_commit("dc", "My Message")
-        self.client_set_prop("dc/trunk", "some:property", "some data\n")
-        self.client_commit("dc", "My 3")
-        self.client_set_prop("dc/trunk", "some2:property", "some data\n")
-        self.client_commit("dc", "My 2")
-        self.client_set_prop("dc/trunk", "some:property", "some other data\n")
-        self.client_commit("dc", "My 4")
+        repos_url = self.make_repository('d')
+
+        cb = self.commit_editor(repos_url)
+        cb.add_dir("trunk")
+        cb.add_file("trunk/bla")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("trunk", "some:property", "some data\n")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("trunk", "some2:property", "some data\n")
+        cb.done()
+
+        cb = self.commit_editor(repos_url)
+        cb.change_dir_prop("trunk", "some:property", "some other data\n")
+        cb.done()
+
         walker = self.get_log_walker(transport=SvnRaTransport(repos_url))
         self.assertEquals([({'trunk': (u'M', None, -1)}, 3), 
                            ({'trunk': (u'M', None, -1)}, 2), 




More information about the bazaar-commits mailing list