Rev 393: Fix tests for new revision ids in http://people.samba.org/bzr/jelmer/bzr-svn/ver3

Jelmer Vernooij jelmer at samba.org
Wed Jan 10 03:59:55 GMT 2007


------------------------------------------------------------
revno: 393
revision-id: jelmer at samba.org-20070110035917-9w6ag249rblmg0oc
parent: jelmer at samba.org-20070110015644-854iy6manxjo9zu0
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: ver3
timestamp: Wed 2007-01-10 04:59:17 +0100
message:
  Fix tests for new revision ids
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  repository.py                  repository.py-20060306123302-1f8c5069b3fe0265
  tests/test_branch.py           test_branch.py-20060508162215-74ffeb5d608f8e20
  tests/test_fileids.py          test_fileids.py-20060622131341-19gyrlgqy8yl2od5-1
  tests/test_repos.py            test_repos.py-20060508151940-ddc49a59257ca712
  tests/test_upgrade.py          test_upgrade.py-20070106170128-64zt3eqggg4tng1c-1
  tests/test_workingtree.py      test_workingtree.py-20060622191524-0di7bc3q1ckdbybb-1
  upgrade.py                     upgrade.py-20070106192108-0rakplee2lzah4gs-1
=== modified file 'commit.py'
--- a/commit.py	2007-01-01 22:18:53 +0000
+++ b/commit.py	2007-01-10 03:59:17 +0000
@@ -358,7 +358,7 @@
             if not self._svnprops.has_key(SVN_PROP_BZR_FILEIDS):
                 self._svnprops[SVN_PROP_BZR_FILEIDS] = ""
             mutter('adding fileid mapping %s -> %s' % (path, ie.file_id))
-            self._svnprops[SVN_PROP_BZR_FILEIDS] += "%s\t%s\n" % (escape_svn_path(path, "%\t\n"), ie.file_id)
+            self._svnprops[SVN_PROP_BZR_FILEIDS] += "%s\t%s\n" % (escape_svn_path(path), ie.file_id)
 
         previous_entries = ie.find_previous_heads(
             parent_invs,

=== modified file 'repository.py'
--- a/repository.py	2007-01-10 01:55:33 +0000
+++ b/repository.py	2007-01-10 03:59:17 +0000
@@ -57,7 +57,8 @@
 
 import urllib
 
-escape_svn_path = urllib.quote
+def escape_svn_path(x):
+    return urllib.quote(x, "")
 unescape_svn_path = urllib.unquote
 
 
@@ -99,7 +100,7 @@
     assert revnum >= 0
     if revnum == 0:
         return NULL_REVISION
-    return unicode("%s-undefined:%s:%s:%d" % (REVISION_ID_PREFIX, uuid, \
+    return unicode("%sundefined:%s:%s:%d" % (REVISION_ID_PREFIX, uuid, \
                    escape_svn_path(path.strip("/")), revnum))
 
 

=== modified file 'tests/test_branch.py'
--- a/tests/test_branch.py	2007-01-09 04:25:01 +0000
+++ b/tests/test_branch.py	2007-01-10 03:59:17 +0000
@@ -482,7 +482,7 @@
     def test_generate_revision_id(self):
         repos_url = self.make_client('d', 'dc')
         branch = Branch.open('d')
-        self.assertEqual("svn-v%d:1@%s-" % (MAPPING_VERSION, branch.repository.uuid),  branch.generate_revision_id(1))
+        self.assertEqual("svn-v%d-undefined:%s::1" % (MAPPING_VERSION, branch.repository.uuid),  branch.generate_revision_id(1))
 
     def test_create_checkout(self):
         repos_url = self.make_client('d', 'dc')

=== modified file 'tests/test_fileids.py'
--- a/tests/test_fileids.py	2007-01-09 05:59:35 +0000
+++ b/tests/test_fileids.py	2007-01-10 03:59:17 +0000
@@ -25,7 +25,7 @@
 
 import format
 from fileids import SimpleFileIdMap, generate_file_id, generate_svn_file_id
-from repository import MAPPING_VERSION
+from repository import MAPPING_VERSION, generate_svn_revision_id
 from scheme import TrunkBranchingScheme
 from tests import TestCaseWithSubversionRepository, RENAMES
 
@@ -187,16 +187,16 @@
         return map
 
     def test_simple(self):
-        map = self.apply_mappings({"svn-v%d:1 at uuid-" % MAPPING_VERSION: {"foo": ('A', None, None)}})
+        map = self.apply_mappings({generate_svn_revision_id("uuid", 1, ""): {"foo": ('A', None, None)}})
         self.assertEqual({ 'foo': ("svn-v%d:1 at uuid--foo" % MAPPING_VERSION, 
-                                       "svn-v%d:1 at uuid-" % MAPPING_VERSION)
+                                       generate_svn_revision_id("uuid", 1, ""))
                          }, map)
 
     def test_simple_add(self):
-        map = self.apply_mappings({"svn-v%d:1 at uuid-" % MAPPING_VERSION: {"": ('A', None, None), "foo": ('A', None, None)}})
-        self.assertEqual({'': ('TREE_ROOT', "svn-v%d:1 at uuid-" % MAPPING_VERSION), 
+        map = self.apply_mappings({generate_svn_revision_id("uuid", 1, ""): {"": ('A', None, None), "foo": ('A', None, None)}})
+        self.assertEqual({'': ('TREE_ROOT', generate_svn_revision_id("uuid", 1, "")),
                                'foo': ("svn-v%d:1 at uuid--foo" % MAPPING_VERSION, 
-                                       "svn-v%d:1 at uuid-" % MAPPING_VERSION)
+                                       generate_svn_revision_id("uuid", 1, ""))
                          }, map)
 
     def test_copy(self):
@@ -205,11 +205,11 @@
                 yield "foo/blie"
                 yield "foo/bla"
         map = self.apply_mappings(
-                {"svn-v%d:1 at uuid-" % MAPPING_VERSION: {
+                {generate_svn_revision_id("uuid", 1, ""): {
                                    "foo": ('A', None, None), 
                                    "foo/blie": ('A', None, None),
                                    "foo/bla": ('A', None, None)},
-                "svn-v%d:2 at uuid-" % MAPPING_VERSION: {
+                generate_svn_revision_id("uuid", 2, ""): {
                                    "foob": ('A', 'foo', 1), 
                                    "foob/bla": ('M', None, None)}
                 }, find_children)
@@ -218,37 +218,37 @@
 
     def test_touchparent(self):
         map = self.apply_mappings(
-                {("svn-v%d:1 at uuid-" % MAPPING_VERSION): {
+                {generate_svn_revision_id("uuid", 1, ""): {
                                    "foo": ('A', None, None), 
                                    "foo/bla": ('A', None, None)},
-                 ("svn-v%d:2 at uuid-" % MAPPING_VERSION): {
+                 generate_svn_revision_id("uuid", 2, ""): {
                                    "foo/bla": ('M', None, None)}
                 })
-        self.assertEqual("svn-v%d:1 at uuid-" % MAPPING_VERSION, map["foo"][1])
-        self.assertEqual("svn-v%d:1 at uuid-" % MAPPING_VERSION, map["foo/bla"][1])
+        self.assertEqual(generate_svn_revision_id("uuid", 1, ""), map["foo"][1])
+        self.assertEqual(generate_svn_revision_id("uuid", 1, ""), map["foo/bla"][1])
 
     def test_usemap(self):
         map = self.apply_mappings(
-                {("svn-v%d:1 at uuid-" % MAPPING_VERSION): {
+                {generate_svn_revision_id("uuid", 1, ""): {
                                    "foo": ('A', None, None), 
                                    "foo/bla": ('A', None, None)},
-                 ("svn-v%d:2 at uuid-" % MAPPING_VERSION): {
+                 generate_svn_revision_id("uuid", 2, ""): {
                                    "foo/bla": ('M', None, None)}
                  }, 
-                renames={("svn-v%d:1 at uuid-" % MAPPING_VERSION): {"foo": "myid"}})
+                renames={generate_svn_revision_id("uuid", 1, ""): {"foo": "myid"}})
         self.assertEqual("myid", map["foo"][0])
 
     def test_usemap_later(self):
         map = self.apply_mappings(
-                {("svn-v%d:1 at uuid-" % MAPPING_VERSION): {
+                {generate_svn_revision_id("uuid", 1, ""): {
                                    "foo": ('A', None, None), 
                                    "foo/bla": ('A', None, None)},
-                 ("svn-v%d:2 at uuid-" % MAPPING_VERSION): {
+                 generate_svn_revision_id("uuid", 2, ""): {
                                    "foo/bla": ('M', None, None)}
                  }, 
-                renames={("svn-v%d:2 at uuid-" % MAPPING_VERSION): {"foo": "myid"}})
+                renames={generate_svn_revision_id("uuid", 2, ""): {"foo": "myid"}})
         self.assertEqual("svn-v%d:1 at uuid--foo" % MAPPING_VERSION, map["foo"][0])
-        self.assertEqual("svn-v%d:1 at uuid-" % MAPPING_VERSION, map["foo"][1])
+        self.assertEqual(generate_svn_revision_id("uuid", 1, ""), map["foo"][1])
 
 class GetMapTests(TestCaseWithSubversionRepository):
     def setUp(self):
@@ -265,8 +265,7 @@
         self.build_tree({"dc/trunk": None})
         self.client_add("dc/trunk")
         self.client_commit("dc", "Msg")
-        self.assertEqual({"": (ROOT_ID, "svn-v%d:1@%s-trunk" % (MAPPING_VERSION, 
-                               self.repos.uuid))}, self.repos.get_fileid_map(1, "trunk"))
+        self.assertEqual({"": (ROOT_ID, self.repos.generate_revision_id(1, "trunk"))}, self.repos.get_fileid_map(1, "trunk"))
 
     def test_change_parent(self):
         self.repos.set_branching_scheme(TrunkBranchingScheme())
@@ -276,7 +275,7 @@
         self.build_tree({"dc/trunk/file": 'data'})
         self.client_add("dc/trunk/file")
         self.client_commit("dc", "Msg")
-        self.assertEqual({"": (ROOT_ID, "svn-v%d:2@%s-trunk" % (MAPPING_VERSION, self.repos.uuid)), "file": (generate_svn_file_id(self.repos.uuid, 2, "trunk", "file"), "svn-v%d:2@%s-trunk" % (MAPPING_VERSION, self.repos.uuid))}, self.repos.get_fileid_map(2, "trunk"))
+        self.assertEqual({"": (ROOT_ID, self.repos.generate_revision_id(2, "trunk")), "file": (generate_svn_file_id(self.repos.uuid, 2, "trunk", "file"), self.repos.generate_revision_id(2, "trunk"))}, self.repos.get_fileid_map(2, "trunk"))
 
     def test_change_updates(self):
         self.repos.set_branching_scheme(TrunkBranchingScheme())
@@ -301,7 +300,7 @@
         self.client_commit("dc", "Msg")
         self.build_tree({"dc/trunk/file": 'otherdata'})
         self.client_commit("dc", "Msg")
-        self.assertEqual({"": (ROOT_ID, self.repos.generate_revision_id(3, "trunk")), "bar": (generate_svn_file_id(self.repos.uuid, 2, "trunk", "bar"), "svn-v%d:2@%s-trunk" % (MAPPING_VERSION, self.repos.uuid)), "file": (generate_svn_file_id(self.repos.uuid, 2, "trunk", "file"), self.repos.generate_revision_id(3, "trunk"))}, self.repos.get_fileid_map(3, "trunk"))
+        self.assertEqual({"": (ROOT_ID, self.repos.generate_revision_id(3, "trunk")), "bar": (generate_svn_file_id(self.repos.uuid, 2, "trunk", "bar"), self.repos.generate_revision_id(2, "trunk")), "file": (generate_svn_file_id(self.repos.uuid, 2, "trunk", "file"), self.repos.generate_revision_id(3, "trunk"))}, self.repos.get_fileid_map(3, "trunk"))
 
     def test_copy(self):
         self.repos.set_branching_scheme(TrunkBranchingScheme())

=== modified file 'tests/test_repos.py'
--- a/tests/test_repos.py	2007-01-09 05:59:35 +0000
+++ b/tests/test_repos.py	2007-01-10 03:59:17 +0000
@@ -512,7 +512,7 @@
         repos_url = self.make_client('d', 'dc')
         repository = Repository.open("svn+%s" % repos_url)
         self.assertEqual(
-            "svn-v%d:1@%s-bla%%2fbloe" % (MAPPING_VERSION, repository.uuid), 
+               u"svn-v%d-undefined:%s:bla%%2Fbloe:1" % (MAPPING_VERSION, repository.uuid), 
             repository.generate_revision_id(1, "bla/bloe"))
 
     def test_generate_revision_id_none(self):
@@ -1899,42 +1899,42 @@
 
 class RevisionIdMappingTest(TestCase):
     def test_generate_revid(self):
-        self.assertEqual("svn-v%d:5 at myuuid-branch" % MAPPING_VERSION, 
+        self.assertEqual("svn-v%d-undefined:myuuid:branch:5" % MAPPING_VERSION, 
                          generate_svn_revision_id("myuuid", 5, "branch"))
 
     def test_generate_revid_nested(self):
-        self.assertEqual("svn-v%d:5 at myuuid-branch%%2fpath" % MAPPING_VERSION, 
+        self.assertEqual("svn-v%d-undefined:myuuid:branch%%2Fpath:5" % MAPPING_VERSION, 
                          generate_svn_revision_id("myuuid", 5, "branch/path"))
 
     def test_generate_revid_special_char(self):
-        self.assertEqual(u"svn-v%d:5 at myuuid-branch\x2c" % MAPPING_VERSION, 
+        self.assertEqual(u"svn-v%d-undefined:myuuid:branch%%2C:5" % MAPPING_VERSION, 
                          generate_svn_revision_id("myuuid", 5, u"branch\x2c"))
 
     def test_generate_revid_special_char_ascii(self):
-        self.assertEqual("svn-v%d:5 at myuuid-branch\x2c" % MAPPING_VERSION, 
+        self.assertEqual("svn-v%d-undefined:myuuid:branch%%2C:5" % MAPPING_VERSION, 
                          generate_svn_revision_id("myuuid", 5, "branch\x2c"))
 
     def test_parse_revid_simple(self):
         self.assertEqual(("uuid", "", 4),
                          parse_svn_revision_id(
-                             "svn-v%d:4 at uuid-" % MAPPING_VERSION))
+                             "svn-v%d-undefined:uuid::4" % MAPPING_VERSION))
 
     def test_parse_revid_nested(self):
         self.assertEqual(("uuid", "bp/data", 4),
                          parse_svn_revision_id(
-                             "svn-v%d:4 at uuid-bp%%2fdata" % MAPPING_VERSION))
+                             "svn-v%d-undefined:uuid:bp%%2Fdata:4" % MAPPING_VERSION))
 
     def test_svk_revid_map_root(self):
-        self.assertEqual("svn-v%d:6 at auuid-" % MAPPING_VERSION,
+        self.assertEqual("svn-v%d-undefined:auuid::6" % MAPPING_VERSION,
                          svk_feature_to_revision_id("auuid:/:6"))
 
     def test_svk_revid_map_nested(self):
-        self.assertEqual("svn-v%d:6 at auuid-bp" % MAPPING_VERSION,
+        self.assertEqual("svn-v%d-undefined:auuid:bp:6" % MAPPING_VERSION,
                          svk_feature_to_revision_id("auuid:/bp:6"))
 
     def test_revid_svk_map(self):
         self.assertEqual("auuid:/:6", 
-              revision_id_to_svk_feature("svn-v%d:6 at auuid-" % MAPPING_VERSION))
+              revision_id_to_svk_feature("svn-v%d-undefined:auuid:;6" % MAPPING_VERSION))
 
 
 class EscapeTest(TestCase):
@@ -1951,13 +1951,13 @@
         self.assertEqual("foobar%20", escape_svn_path("foobar "))
 
     def test_escape_svn_path_slash(self):
-        self.assertEqual("foobar%2f", escape_svn_path("foobar/"))
+        self.assertEqual("foobar%2F", escape_svn_path("foobar/"))
 
     def test_escape_svn_path_special_char(self):
-        self.assertEqual(u"foobar%8a", escape_svn_path("foobar\x8a"))
+        self.assertEqual("foobar%8A", escape_svn_path("foobar\x8a"))
 
     def test_unescape_svn_path_slash(self):
-        self.assertEqual("foobar/", unescape_svn_path("foobar%2f"))
+        self.assertEqual("foobar/", unescape_svn_path("foobar%2F"))
 
     def test_unescape_svn_path_none(self):
         self.assertEqual("foobar", unescape_svn_path("foobar"))

=== modified file 'tests/test_upgrade.py'
--- a/tests/test_upgrade.py	2007-01-09 05:59:35 +0000
+++ b/tests/test_upgrade.py	2007-01-10 03:59:17 +0000
@@ -35,6 +35,10 @@
 
 class ParserTests(TestCase):
     def test_current(self):
+        self.assertEqual(("uuid", "trunk", 1, 3), 
+                parse_legacy_revision_id("svn-v3-undefined:uuid:trunk:1"))
+
+    def test_legacy2(self):
         self.assertEqual(("uuid", "trunk", 1, 2), 
                          parse_legacy_revision_id("svn-v2:1 at uuid-trunk"))
 
@@ -101,7 +105,7 @@
 
         upgrade_repository(newrepos, oldrepos, allow_change=True)
 
-        self.assertTrue(newrepos.has_revision("svn-v%d:1@%s-" % (MAPPING_VERSION, oldrepos.uuid)))
+        self.assertTrue(newrepos.has_revision(oldrepos.generate_revision_id(1, "")))
 
     def test_single_custom(self):
         repos_url = self.make_client("a", "dc")
@@ -149,7 +153,7 @@
 
         renames = upgrade_repository(newrepos, oldrepos, allow_change=True)
         self.assertEqual({
-            "svn-v1:1@%s-" % oldrepos.uuid:"svn-v%d:1@%s-" % (MAPPING_VERSION, oldrepos.uuid),
+            "svn-v1:1@%s-" % oldrepos.uuid: oldrepos.generate_revision_id(1, ""),
             "customrev": "customrev-svn%d-upgrade" % MAPPING_VERSION,
             "anotherrev": "anotherrev-svn%d-upgrade" % MAPPING_VERSION},
             renames)
@@ -182,7 +186,7 @@
         wt.commit(message='fix it again', rev_id="anotherrev")
 
         upgrade_branch(b, oldrepos, allow_change=True)
-        self.assertEqual(["svn-v2:1@%s-" % oldrepos.uuid,
+        self.assertEqual([oldrepos.generate_revision_id(1, ""),
                           "customrev-svn%d-upgrade" % MAPPING_VERSION,
                           "anotherrev-svn%d-upgrade" % MAPPING_VERSION
                           ], b.revision_history())

=== modified file 'tests/test_workingtree.py'
--- a/tests/test_workingtree.py	2007-01-10 01:50:47 +0000
+++ b/tests/test_workingtree.py	2007-01-10 03:59:17 +0000
@@ -326,7 +326,7 @@
         
         tree = WorkingTree.open("dc")
         tree.set_pending_merges([
-            "svn-v%d:1 at a-uuid-foo-branch%%2fpath" % MAPPING_VERSION, "c"])
+            "svn-v%d-undefined:a-uuid-foo:branch%%2fpath:1" % MAPPING_VERSION, "c"])
         self.assertEqual("a-uuid-foo:/branch/path:1\n", 
                          self.client_get_prop("dc", "svk:merge"))
 

=== modified file 'upgrade.py'
--- a/upgrade.py	2007-01-07 00:48:00 +0000
+++ b/upgrade.py	2007-01-10 03:59:17 +0000
@@ -76,8 +76,17 @@
         assert revnum >= 0
         return (uuid, branch_path, revnum, 1)
     elif revid.startswith("svn-v2:"):
+        revid = revid[len("svn-v2:"):]
+        at = revid.index("@")
+        fash = revid.rindex("-")
+        uuid = revid[at+1:fash]
+        branch_path = unescape_svn_path(revid[fash+1:])
+        revnum = int(revid[0:at])
+        assert revnum >= 0
+        return (uuid, branch_path, revnum, 2)
+    elif revid.startswith("svn-v3-"):
         (uuid, bp, rev) = parse_svn_revision_id(revid)
-        return (uuid, bp, rev, 2)
+        return (uuid, bp, rev, 3)
 
     raise InvalidRevisionId(revid, None)
 
@@ -89,6 +98,7 @@
     else:
         return revid + suffix
 
+
 def upgrade_branch(branch, svn_repository, allow_change=False):
     renames = upgrade_repository(branch.repository, svn_repository, 
               branch.last_revision(), allow_change)




More information about the bazaar-commits mailing list