At http://people.samba.org/bzr/jelmer/bzr-svn/0.5
------------------------------------------------------------ revno: 2315 revision-id: [email protected] parent: [email protected] committer: Jelmer Vernooij <[email protected]> branch nick: 0.5 timestamp: Fri 2009-01-16 23:22:09 +0100 message: Make generate_file_id() take a foreign revid. modified: fetch.py fetch.py-20060625004942-x2lfaib8ra707a8p-1 fileids.py fileids.py-20060714013623-u5iiyqqnko11grcf-1 mapping.py mapping.py-20080128201303-6cp01phc0dmc0kiv-1 mapping2.py mapping.py-20080904055555-lw057kjuadn0r2ma-2 mapping3/__init__.py __init__.py-20080502174630-9324zh25kka98vlw-1 mapping4.py mapping4.py-20080827182338-y4xzpsf43vyiwcir-1 tests/mapping3/__init__.py __init__.py-20080831152358-oy04n53cpnh64aj6-1 tests/mapping_implementations/test_repository.py test_repository.py-20080902013845-ity7d1ymye69sobm-2 tests/test_fetch.py test_fetch.py-20070624210302-luvgwjmlfysk5qeq-1 tests/test_fileids.py test_fileids.py-20060622131341-19gyrlgqy8yl2od5-1 tests/test_tree.py test_tree.py-20070103204350-pr8nupes7e5sd2wr-1 tests/test_upgrade.py test_upgrade.py-20070106170128-64zt3eqggg4tng1c-1 tests/test_workingtree.py test_workingtree.py-20060622191524-0di7bc3q1ckdbybb-1 === modified file 'fetch.py' --- a/fetch.py 2009-01-15 04:21:45 +0000 +++ b/fetch.py 2009-01-16 22:22:09 +0000 @@ -555,8 +555,7 @@ if self.old_inventory.root is None: # First time the root is set old_file_id = None - file_id = self.mapping.generate_file_id(self.revmeta.uuid, - self.revmeta.revnum, self.revmeta.branch_path, u"") + file_id = self.mapping.generate_file_id(self.revmeta.get_foreign_revid(), u"") file_parents = [] else: # Just inherit file id from previous @@ -627,8 +626,7 @@ ret = self._get_map_id(new_path) if ret is not None: return ret - return self.mapping.generate_file_id(self.revmeta.uuid, self.revmeta.revnum, - self.revmeta.branch_path, new_path) + return self.mapping.generate_file_id(self.revmeta.get_foreign_revid(), new_path) def _get_text_revid(self, path): if self._text_revids is None: === modified file 'fileids.py' --- a/fileids.py 2009-01-15 01:28:44 +0000 +++ b/fileids.py 2009-01-16 22:22:09 +0000 @@ -146,24 +146,25 @@ get_children = None def new_file_id(x): - return mapping.generate_file_id(revmeta.uuid, revmeta.revnum, revmeta.branch_path, x) + return mapping.generate_file_id(revmeta.get_foreign_revid(), x) idmap = self.apply_changes_fn(new_file_id, changes, get_children) idmap.update(renames) return (idmap, changes) - def get_map(self, (uuid, branch, revnum), mapping): + def get_map(self, foreign_revid, mapping): """Make sure the map is up to date until revnum.""" + (uuid, branch, revnum) = foreign_revid # First, find the last cached map if revnum == 0: assert branch == "" - return {"": (mapping.generate_file_id(uuid, 0, "", u""), + return {"": (mapping.generate_file_id(foreign_revid, u""), self.repos.generate_revision_id(0, "", mapping))} todo = [] next_parent_revs = [] if mapping.is_branch(""): - map = {u"": (mapping.generate_file_id(uuid, 0, "", u""), NULL_REVISION)} + map = {u"": (mapping.generate_file_id((uuid, "", 0), u""), NULL_REVISION)} else: map = {} @@ -287,7 +288,7 @@ if len(next_parent_revs) == 0: if mapping.is_branch(""): - map = {u"": (mapping.generate_file_id(uuid, 0, "", u""), NULL_REVISION)} + map = {u"": (mapping.generate_file_id((uuid, "", 0), u""), NULL_REVISION)} else: map = {} === modified file 'mapping.py' --- a/mapping.py 2009-01-15 01:28:44 +0000 +++ b/mapping.py 2009-01-16 22:22:09 +0000 @@ -368,7 +368,7 @@ return self.is_branch(path) or self.is_tag(path) @staticmethod - def generate_file_id(uuid, revnum, branch, inv_path): + def generate_file_id((uuid, branch, revnum), inv_path): """Create a file id identifying a Subversion file. :param uuid: UUID of the repository === modified file 'mapping2.py' --- a/mapping2.py 2009-01-15 01:28:44 +0000 +++ b/mapping2.py 2009-01-16 22:22:09 +0000 @@ -80,10 +80,10 @@ def import_revision_fileprops(self, fileprops, rev): return True - def generate_file_id(self, uuid, revnum, branch, inv_path): + def generate_file_id(self, foreign_revid, inv_path): if inv_path == u"": return ROOT_ID - return "%s-%s" % (self.revision_id_foreign_to_bzr((uuid, branch, revnum)), escape_svn_path(inv_path.encode("utf-8"))) + return "%s-%s" % (self.revision_id_foreign_to_bzr(foreign_revid), escape_svn_path(inv_path.encode("utf-8"))) def import_fileid_map_fileprops(self, fileprops): return {} === modified file 'mapping3/__init__.py' --- a/mapping3/__init__.py 2009-01-15 01:28:44 +0000 +++ b/mapping3/__init__.py 2009-01-16 22:22:09 +0000 @@ -227,7 +227,7 @@ def __repr__(self): return "%s(%r)" % (self.__class__.__name__, self.scheme) - def generate_file_id(self, uuid, revnum, branch, inv_path): + def generate_file_id(self, (uuid, branch, revnum), inv_path): assert isinstance(uuid, str) assert isinstance(revnum, int) assert isinstance(branch, str) === modified file 'mapping4.py' --- a/mapping4.py 2009-01-15 01:28:44 +0000 +++ b/mapping4.py 2009-01-16 22:22:09 +0000 @@ -78,7 +78,7 @@ def revision_id_foreign_to_bzr(self, (uuid, path, revnum)): return "svn-v4:%s:%s:%d" % (uuid, path, revnum) - def generate_file_id(self, uuid, revnum, branch, inv_path): + def generate_file_id(self, (uuid, branch, revnum), inv_path): return "%...@%s:%s" % (revnum, uuid, mapping.escape_svn_path("%s/%s" % (branch, inv_path.encode("utf-8")))) def is_branch(self, branch_path): === modified file 'tests/mapping3/__init__.py' --- a/tests/mapping3/__init__.py 2009-01-15 01:28:44 +0000 +++ b/tests/mapping3/__init__.py 2009-01-16 22:22:09 +0000 @@ -64,40 +64,40 @@ "svn-v3-undefined:uuid:bp%2Fdata:4")) def test_generate_file_id_root(self): - self.assertEqual("2...@uuid:bp:", self.mapping.generate_file_id("uuid", 2, "bp", u"")) + self.assertEqual("2...@uuid:bp:", self.mapping.generate_file_id(("uuid", "bp", 2), u"")) def test_generate_file_id_path(self): self.assertEqual("2...@uuid:bp:mypath", - self.mapping.generate_file_id("uuid", 2, "bp", u"mypath")) + self.mapping.generate_file_id(("uuid", "bp", 2), u"mypath")) def test_generate_file_id_long(self): dir = "this/is/a" + ("/very"*40) + "/long/path/" self.assertEqual("2...@uuid:bp;" + sha1(dir+"filename"), - self.mapping.generate_file_id("uuid", 2, "bp", dir+u"filename")) + self.mapping.generate_file_id(("uuid", "bp", 2), dir+u"filename")) def test_generate_file_id_long_nordic(self): dir = "this/is/a" + ("/very"*40) + "/long/path/" self.assertEqual("2...@uuid:bp;" + sha1((dir+u"filename\x2c\x8a").encode('utf-8')), - self.mapping.generate_file_id("uuid", 2, "bp", dir+u"filename\x2c\x8a")) + self.mapping.generate_file_id(("uuid", "bp", 2), dir+u"filename\x2c\x8a")) def test_generate_file_id_special_char(self): self.assertEqual("2...@uuid:bp:mypath%2C%C2%8A", - self.mapping.generate_file_id("uuid", 2, "bp", u"mypath\x2c\x8a")) + self.mapping.generate_file_id(("uuid", "bp", 2), u"mypath\x2c\x8a")) def test_generate_file_id_spaces(self): - self.assertFalse(" " in self.mapping.generate_file_id("uuid", 1, "b p", u"my path")) + self.assertFalse(" " in self.mapping.generate_file_id(("uuid", "b p", 1), u"my path")) def test_generate_svn_file_id(self): self.assertEqual("2...@uuid:bp:path", - self.mapping.generate_file_id("uuid", 2, "bp", u"path")) + self.mapping.generate_file_id(("uuid", "bp", 3), u"path")) def test_generate_svn_file_id_nordic(self): self.assertEqual("2...@uuid:bp:%C3%A6%C3%B8%C3%A5", - self.mapping.generate_file_id("uuid", 2, "bp", u"\xe6\xf8\xe5")) + self.mapping.generate_file_id(("uuid", "bp", 2), u"\xe6\xf8\xe5")) def test_generate_svn_file_id_nordic_branch(self): self.assertEqual("2...@uuid:%C3%A6:%C3%A6%C3%B8%C3%A5", - self.mapping.generate_file_id("uuid", 2, u"\xe6".encode('utf-8'), u"\xe6\xf8\xe5")) + self.mapping.generate_file_id(("uuid", u"\xe6".encode('utf-8'), 2), u"\xe6\xf8\xe5")) class RepositoryTests(SubversionTestCase): === modified file 'tests/mapping_implementations/test_repository.py' --- a/tests/mapping_implementations/test_repository.py 2009-01-15 01:28:44 +0000 +++ b/tests/mapping_implementations/test_repository.py 2009-01-16 22:22:09 +0000 @@ -90,7 +90,7 @@ repos = Repository.open(repos_url) mapping = repos.get_mapping() rm_provider = repos._revmeta_provider - self.assertEqual({u"": (mapping.generate_file_id(repos.uuid, 0, "", u""), mapping.revision_id_foreign_to_bzr((repos.uuid, "", 0)))}, repos.get_fileid_map(rm_provider.get_revision("", 0), mapping)) + self.assertEqual({u"": (mapping.generate_file_id((repos.uuid, "", 0), u""), mapping.revision_id_foreign_to_bzr((repos.uuid, "", 0)))}, repos.get_fileid_map(rm_provider.get_revision("", 0), mapping)) def test_add_revision(self): repos_url = self.make_repository("a") @@ -1002,7 +1002,7 @@ ch = list(b.repository.item_keys_introduced_by([b.last_revision()])) revid = b.last_revision() self.assertEquals([ - ('file', mapping.generate_file_id(b.repository.uuid, 1, "", u"foo"), set([revid])), + ('file', mapping.generate_file_id((b.repository.uuid, "", 1), u"foo"), set([revid])), ('inventory', None, [revid]), ('signatures', None, set([revid])), ('revisions', None, [revid])], ch) === modified file 'tests/test_fetch.py' --- a/tests/test_fetch.py 2009-01-15 01:28:44 +0000 +++ b/tests/test_fetch.py 2009-01-16 22:22:09 +0000 @@ -347,7 +347,7 @@ repo.fetch(oldrepos, last_rev) self.assertEquals(repo.get_inventory(last_rev).root.file_id, oldrepos.get_mapping().generate_file_id( - oldrepos.uuid, 1, "branch1", u"")) + (oldrepos.uuid, "branch1", 1), u"")) def test_fetch_replace(self): @@ -1491,7 +1491,7 @@ tree = repos.revision_tree( repos.generate_revision_id(3, "branches/foobranch", mapping)) - self.assertEqual(mapping.generate_file_id(repos.uuid, 1, "trunk", u""), tree.inventory.root.file_id) + self.assertEqual(mapping.generate_file_id((repos.uuid, "trunk", 1), u""), tree.inventory.root.file_id) def test_fetch_odd(self): repos_url = self.make_repository('d') === modified file 'tests/test_fileids.py' --- a/tests/test_fileids.py 2009-01-15 01:28:44 +0000 +++ b/tests/test_fileids.py 2009-01-16 22:22:09 +0000 @@ -183,7 +183,7 @@ class TestFileMapping(TestCase): def setUp(self): - self.generate_file_id = lambda uuid, revnum, bp, ip: "%...@%s:%s:%s" % (revnum, uuid, bp, ip) + self.generate_file_id = lambda (uuid, bp, revnum), ip: "%...@%s:%s:%s" % (revnum, uuid, bp, ip) def apply_mappings(self, mappings, find_children=None, renames={}): map = {} @@ -194,7 +194,7 @@ def new_file_id(x): if renames.has_key(r) and renames[r].has_key(x): return renames[r][x] - return self.generate_file_id("uuid", revnum, branchpath, x) + return self.generate_file_id(("uuid", branchpath, revnum), x) revmap = simple_apply_changes(new_file_id, mappings[r], find_children) map.update(dict([(x, (revmap[x], r)) for x in revmap])) return map @@ -276,7 +276,7 @@ self.repos.set_layout(RootLayout()) self.mapping = self.repos.get_mapping() rm_provider = self.repos._revmeta_provider - self.assertEqual({"": (self.mapping.generate_file_id(self.repos.uuid, 0, "", u""), self.repos.generate_revision_id(0, "", self.mapping))}, + self.assertEqual({"": (self.mapping.generate_file_id((self.repos.uuid, "", 0), u""), self.repos.generate_revision_id(0, "", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("", 0), self.mapping)) def test_empty_trunk(self): @@ -287,7 +287,7 @@ dc.close() rm_provider = self.repos._revmeta_provider - self.assertEqual({"": (self.mapping.generate_file_id(self.repos.uuid, 1, "trunk", u""), self.repos.generate_revision_id(1, "trunk", self.mapping))}, + self.assertEqual({"": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 1), u""), self.repos.generate_revision_id(1, "trunk", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("trunk", 1), self.mapping)) def test_change_parent(self): @@ -305,9 +305,9 @@ rm_provider = self.repos._revmeta_provider self.assertEqual({ - "": (self.mapping.generate_file_id(self.repos.uuid, 1, "trunk", u""), + "": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 1), u""), self.repos.generate_revision_id(1, "trunk", self.mapping)), - "file": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"file"), + "file": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"file"), self.repos.generate_revision_id(2, "trunk", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("trunk", 2), self.mapping)) @@ -329,9 +329,9 @@ rm_provider = self.repos._revmeta_provider self.assertEqual({ - "": (self.mapping.generate_file_id(self.repos.uuid, 1, "trunk", u""), + "": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 1), u""), self.repos.generate_revision_id(1, "trunk", self.mapping)), - "file": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"file"), + "file": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"file"), self.repos.generate_revision_id(3, "trunk", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("trunk", 3), self.mapping)) @@ -356,11 +356,11 @@ rm_provider = self.repos._revmeta_provider self.assertEqual({ - "": (self.mapping.generate_file_id(self.repos.uuid, 1, "trunk", u""), + "": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 1), u""), self.repos.generate_revision_id(1, "trunk", self.mapping)), - "bar": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"bar"), + "bar": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"bar"), self.repos.generate_revision_id(2, "trunk", self.mapping)), - "file": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"file"), + "file": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"file"), self.repos.generate_revision_id(3, "trunk", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("trunk", 3), self.mapping)) @@ -385,11 +385,11 @@ rm_provider = self.repos._revmeta_provider self.assertEqual({ - "": (self.mapping.generate_file_id(self.repos.uuid, 1, "trunk", u""), + "": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 1), u""), self.repos.generate_revision_id(1, "trunk", self.mapping)), - "bar": (self.mapping.generate_file_id(self.repos.uuid, 3, "trunk", u"bar"), + "bar": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 3), u"bar"), self.repos.generate_revision_id(3, "trunk", self.mapping)), - "file": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"file"), + "file": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"file"), self.repos.generate_revision_id(2, "trunk", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("trunk", 3), self.mapping)) def test_copy_nested_modified(self): @@ -415,15 +415,15 @@ rm_provider = self.repos._revmeta_provider self.assertEqual({ - "": (self.mapping.generate_file_id(self.repos.uuid, 1, "trunk", u""), + "": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 1), u""), self.repos.generate_revision_id(1, "trunk", self.mapping)), - "dir": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"dir"), + "dir": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"dir"), self.repos.generate_revision_id(2, "trunk", self.mapping)), - "dir/file": (self.mapping.generate_file_id(self.repos.uuid, 2, "trunk", u"dir/file"), + "dir/file": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 2), u"dir/file"), self.repos.generate_revision_id(2, "trunk", self.mapping)), - "bar": (self.mapping.generate_file_id(self.repos.uuid, 3, "trunk", u"bar"), + "bar": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 3), u"bar"), self.repos.generate_revision_id(3, "trunk", self.mapping)), - "bar/file": (self.mapping.generate_file_id(self.repos.uuid, 3, "trunk", u"bar/file"), + "bar/file": (self.mapping.generate_file_id((self.repos.uuid, "trunk", 3), u"bar/file"), self.repos.generate_revision_id(3, "trunk", self.mapping))}, self.repos.get_fileid_map(rm_provider.get_revision("trunk", 3), self.mapping)) === modified file 'tests/test_tree.py' --- a/tests/test_tree.py 2009-01-15 01:28:44 +0000 +++ b/tests/test_tree.py 2009-01-16 22:22:09 +0000 @@ -184,7 +184,7 @@ mapping.revision_id_foreign_to_bzr((repos.uuid, "", 1)), None, repos_url) self.assertEqual(TreeReference( - mapping.generate_file_id(repos.uuid, 0, "", u""), + mapping.generate_file_id((repos.uuid, "", 0), u""), 'bla', inv.path2id('blie'), revision=mapping.revision_id_foreign_to_bzr((repos.uuid, "", 1))), inv[inv.path2id('blie/bla')]) @@ -199,7 +199,7 @@ repos_url) self.assertEqual(TreeReference( - mapping.generate_file_id(repos.uuid, 0, "", u""), + mapping.generate_file_id((repos.uuid, "", 0), u""), 'bla', 'blabloe', revision=mapping.revision_id_foreign_to_bzr((repos.uuid, "", 1))), inv[inv.path2id('bla')]) @@ -211,7 +211,7 @@ mapping = repos.get_mapping() inventory_add_external(inv, 'blabloe', 'bla', mapping.revision_id_foreign_to_bzr((repos.uuid, "", 1)), 0, repos_url) - expected_ie = TreeReference(mapping.generate_file_id(repos.uuid, 0, "", u""), + expected_ie = TreeReference(mapping.generate_file_id((repos.uuid, "", 0), u""), 'bla', 'blabloe', revision=mapping.revision_id_foreign_to_bzr((repos.uuid, "", 1)), reference_revision=NULL_REVISION) === modified file 'tests/test_upgrade.py' --- a/tests/test_upgrade.py 2009-01-15 01:28:44 +0000 +++ b/tests/test_upgrade.py 2009-01-16 22:22:09 +0000 @@ -143,7 +143,7 @@ upgrade_repository(newrepos, oldrepos, new_mapping=mapping, mapping_registry=mapping_registry, allow_changes=True) tree = newrepos.revision_tree("customrev%s-upgrade" % mapping.upgrade_suffix) self.assertEqual("specificid", tree.inventory.path2id("a")) - self.assertEqual(mapping.generate_file_id(oldrepos.uuid, 1, "", u"a"), + self.assertEqual(mapping.generate_file_id((oldrepos.uuid, "", 1), u"a"), tree.inventory.path2id("b")) @skip_no_rebase === modified file 'tests/test_workingtree.py' --- a/tests/test_workingtree.py 2009-01-15 01:28:44 +0000 +++ b/tests/test_workingtree.py 2009-01-16 22:22:09 +0000 @@ -317,7 +317,7 @@ self.assertEqual(wt.branch.generate_revision_id(0), wt.basis_tree().inventory.revision_id) inv = Inventory() - root_id = wt.branch.repository.get_mapping().generate_file_id(wt.branch.repository.uuid, 0, "", u"") + root_id = wt.branch.repository.get_mapping().generate_file_id((wt.branch.repository.uuid, "", 0), u"") inv.revision_id = wt.branch.generate_revision_id(0) inv.add_path('', 'directory', root_id).revision = inv.revision_id -- bazaar-commits mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/bazaar-commits
