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