import format
from mapping import (escape_svn_path, unescape_svn_path,
- SVN_PROP_BZR_REVISION_ID, SVN_PROP_BZR_BRANCHING_SCHEME)
-from scheme import (TrunkBranchingScheme, NoBranchingScheme,
+ SVN_PROP_BZR_REVISION_ID)
+from mapping3 import (SVN_PROP_BZR_BRANCHING_SCHEME, set_branching_scheme,
+ set_property_scheme, BzrSvnMappingv3)
+from mapping3.scheme import (TrunkBranchingScheme, NoBranchingScheme,
ListBranchingScheme, SingleBranchingScheme)
from transport import SvnRaTransport
from tests import TestCaseWithSubversionRepository
self.assertEqual([
('', {'foo': ('A', None, -1)}, 1),
('', {'': ('A', None, -1)}, 0)],
- [l[:3] for l in repos.iter_reverse_branch_changes("", 1, NoBranchingScheme())])
+ [(l.branch_path, l.paths, l.revnum) for l in repos.iter_reverse_branch_changes("", 1, NoBranchingScheme())])
def test_make_working_trees(self):
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
self.assertFalse(repos.get_physical_lock_status())
+ def test_iter_changes_parent_rename(self):
+ repos_url = self.make_client("a", "dc")
+ self.build_tree({'dc/foo/bar': None})
+ self.client_add('dc/foo')
+ self.client_commit('dc', 'a')
+ self.client_update('dc')
+ self.client_copy('dc/foo', 'dc/bla')
+ self.client_commit('dc', 'b')
+ repos = Repository.open(repos_url)
+ ret = list(repos.iter_changes('bla/bar', 2, BzrSvnMappingv3(SingleBranchingScheme('bla/bar'))))
+ self.assertEquals(1, len(ret))
+ self.assertEquals("bla/bar", ret[0][0])
+
def test_set_make_working_trees(self):
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
self.client_commit("dc", "commit")
repos = Repository.open(repos_url)
self.assertEquals([
- ('pygments/trunk', {'pygments/trunk': (u'R', 'pykleur/trunk', 2)}, 3),
+ ('pygments/trunk', {'pygments': (u'A', 'pykleur', 1),
+ 'pygments/trunk': (u'R', 'pykleur/trunk', 2),
+ 'pykleur': (u'D', None, -1)}, 3),
('pykleur/trunk', {'pykleur/trunk/pykleur/afile': (u'A', None, -1)}, 2),
('pykleur/trunk',
{'pykleur': (u'A', None, -1),
'pykleur/trunk': (u'A', None, -1),
'pykleur/trunk/pykleur': (u'A', None, -1)},
1)],
- [l[:3] for l in repos.iter_reverse_branch_changes("pygments/trunk", 3, TrunkBranchingScheme(1))])
+ [(l.branch_path, l.paths, l.revnum) for l in repos.iter_reverse_branch_changes("pygments/trunk", 3, TrunkBranchingScheme(1))])
def test_follow_branch_move_single(self):
repos_url = self.make_client('a', 'dc')
self.client_update("dc")
self.client_commit("dc", "commit")
repos = Repository.open(repos_url)
+ changes = repos.iter_reverse_branch_changes("pygments", 2, SingleBranchingScheme("pygments"))
self.assertEquals([('pygments',
{'pygments/bla': ('A', None, -1), 'pygments': ('A', None, -1)},
2)],
- [l[:3] for l in repos.iter_reverse_branch_changes("pygments", 2, SingleBranchingScheme("pygments"))])
+ [(l.branch_path, l.paths, l.revnum) for l in changes])
def test_history_all(self):
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
self.assertEqual(2,
- len(list(repos.all_revision_ids(repos.get_mapping()))))
+ len(list(repos.all_revision_ids(repos.get_layout()))))
def test_all_revs_empty(self):
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual([], list(repos.all_revision_ids()))
def test_all_revs(self):
self.client_commit("dc", "remove branch")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
mapping = repos.get_mapping()
self.assertEqual([
- repos.generate_revision_id(2, "branches/somebranch", mapping),
- repos.generate_revision_id(1, "trunk", mapping)],
+ repos.generate_revision_id(1, "trunk", mapping),
+ repos.generate_revision_id(2, "branches/somebranch", mapping)],
list(repos.all_revision_ids()))
def test_follow_history_empty(self):
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
self.assertEqual([repos.generate_revision_id(0, '', repos.get_mapping())],
- list(repos.all_revision_ids(
- repos.get_mapping())))
+ list(repos.all_revision_ids(repos.get_layout())))
def test_follow_history_empty_branch(self):
repos_url = self.make_client("a", "dc")
self.client_add("dc/branches")
self.client_commit("dc", "My Message")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual([repos.generate_revision_id(1, 'trunk', repos.get_mapping())],
- list(repos.all_revision_ids(repos.get_mapping())))
+ list(repos.all_revision_ids(repos.get_layout())))
def test_follow_history_follow(self):
repos_url = self.make_client("a", "dc")
self.client_commit("dc", "Create branch")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
- items = list(repos.all_revision_ids(repos.get_mapping()))
- self.assertEqual([repos.generate_revision_id(2, 'branches/abranch', repos.get_mapping()),
- repos.generate_revision_id(1, 'trunk', repos.get_mapping())], items)
+ items = list(repos.all_revision_ids(repos.get_layout()))
+ self.assertEqual([repos.generate_revision_id(1, 'trunk', repos.get_mapping()),
+ repos.generate_revision_id(2, 'branches/abranch', repos.get_mapping())
+ ], items)
def test_branch_log_specific(self):
repos_url = self.make_client("a", "dc")
self.client_commit("dc", "My Message")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual(1, len(list(repos.iter_reverse_branch_changes("branches/brancha",
1, TrunkBranchingScheme()))))
self.client_commit("dc", "My Message2")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual(1, len(list(repos.iter_reverse_branch_changes("branches/brancha",
2, TrunkBranchingScheme()))))
self.client_add("dc/branches")
self.client_commit("dc", "My Message")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
branches = repos.find_branches()
self.assertEquals(2, len(branches))
self.assertEquals(urlutils.join(repos.base, "branches/brancha"),
- branches[0].base)
- self.assertEquals(urlutils.join(repos.base, "branches/branchab"),
branches[1].base)
+ self.assertEquals(urlutils.join(repos.base, "branches/branchab"),
+ branches[0].base)
def test_find_branchpaths_moved(self):
repos_url = self.make_client("a", "dc")
self.client_commit("dc", "My Message 2")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual([("tags/branchab", 2, True),
("tags/brancha", 2, True)],
self.client_commit("dc", "My Message 2")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual([("branches/branchb", 2, True)],
list(repos.find_branchpaths(TrunkBranchingScheme(), from_revnum=2,
self.client_commit("dc", "My Message 2")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme(1))
+ set_branching_scheme(repos, TrunkBranchingScheme(1))
self.assertEqual([("t2/branches/brancha", 2, True),
("t2/branches/branchab", 2, True)],
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(NoBranchingScheme())
+ set_branching_scheme(repos, NoBranchingScheme())
self.assertEqual([("", 0, True)],
list(repos.find_branchpaths(NoBranchingScheme(), to_revnum=0)))
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(NoBranchingScheme())
+ set_branching_scheme(repos, NoBranchingScheme())
self.assertEqual([("", 0, True)],
list(repos.find_branchpaths(NoBranchingScheme(), to_revnum=0)))
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.assertEqual([],
list(repos.find_branchpaths(TrunkBranchingScheme(), to_revnum=0)))
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.build_tree({'dc/trunk/foo': "data"})
self.client_add("dc/trunk")
repos_url = self.make_client("a", "dc")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
self.build_tree({'dc/trunk/foo': "data"})
self.client_add("dc/trunk")
repository = Repository.open("svn+%s" % repos_url)
mapping = repository.get_mapping()
self.assertEqual((),
- repository.revision_parents(
- repository.generate_revision_id(0, "", mapping)))
+ repository.get_revision(
+ repository.generate_revision_id(0, "", mapping)).parent_ids)
self.assertEqual((repository.generate_revision_id(0, "", mapping),),
- repository.revision_parents(
- repository.generate_revision_id(1, "", mapping)))
+ repository.get_revision(
+ repository.generate_revision_id(1, "", mapping)).parent_ids)
self.assertEqual((repository.generate_revision_id(1, "", mapping),
"ghostparent"),
- repository.revision_parents(
- repository.generate_revision_id(2, "", mapping)))
+ repository.get_revision(
+ repository.generate_revision_id(2, "", mapping)).parent_ids)
def test_revision_svk_parent(self):
repos_url = self.make_client('d', 'dc')
self.client_update("dc")
self.build_tree({'dc/trunk/foo': "data2"})
repository = Repository.open("svn+%s" % repos_url)
- repository.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repository, TrunkBranchingScheme())
self.client_set_prop("dc/trunk", "svk:merge",
"%s:/branches/foo:1\n" % repository.uuid)
self.client_commit("dc", "Second Message")
mapping = repository.get_mapping()
self.assertEqual((repository.generate_revision_id(1, "trunk", mapping),
repository.generate_revision_id(1, "branches/foo", mapping)),
- repository.revision_parents(
- repository.generate_revision_id(2, "trunk", mapping)))
+ repository.get_revision(
+ repository.generate_revision_id(2, "trunk", mapping)).parent_ids)
def test_get_revision(self):
repos_url = self.make_client('d', 'dc')
def test_store_branching_scheme(self):
repos_url = self.make_client('d', 'dc')
repository = Repository.open(repos_url)
- repository.set_branching_scheme(TrunkBranchingScheme(42))
+ set_branching_scheme(repository, TrunkBranchingScheme(42))
repository = Repository.open(repos_url)
- self.assertEquals("trunk42", str(repository.get_scheme()))
+ self.assertEquals("trunk42", str(repository.get_mapping().scheme))
def test_get_ancestry(self):
repos_url = self.make_client('d', 'dc')
self.build_tree({'dc/trunk/a': "bloe"})
self.client_commit("dc", "second commit")
repository = Repository.open(repos_url)
- repository.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repository, TrunkBranchingScheme())
mapping = repository.get_mapping()
self.assertEqual({repository.generate_revision_id(1, "trunk", mapping): (),
repository.generate_revision_id(2, "trunk", mapping): (repository.generate_revision_id(1, "trunk", mapping),),
self.client_commit("dc", "set scheme")
repository = Repository.open("svn+%s" % repos_url)
self.assertEquals(ListBranchingScheme(["trunk", "branches/*", "branches/tmp/*"]).branch_list,
- repository.get_scheme().branch_list)
+ repository.get_mapping().scheme.branch_list)
def test_set_property_scheme(self):
repos_url = self.make_client('d', 'dc')
repos = Repository.open(repos_url)
- repos.set_property_scheme(ListBranchingScheme(["bla/*"]))
+ set_property_scheme(repos, ListBranchingScheme(["bla/*"]))
self.client_update("dc")
self.assertEquals("bla/*\n",
self.client_get_prop("dc", SVN_PROP_BZR_BRANCHING_SCHEME))
self.assertEquals([('trunk', {'trunk': (u'M', None, -1)}, 3),
('trunk', {'trunk': (u'M', None, -1)}, 2),
('trunk', {'trunk/bla': (u'A', None, -1), 'trunk': (u'A', None, -1)}, 1)],
- list(oldrepos.iter_reverse_branch_changes("trunk", 3, TrunkBranchingScheme())))
+ [(l.branch_path, l.paths, l.revnum) for l in oldrepos.iter_reverse_branch_changes("trunk", 3, TrunkBranchingScheme())])
def test_control_code_msg(self):
repos_url = self.make_client('d', 'dc')
self.client_commit("dc", "foohosts") #4
oldrepos = Repository.open("svn+"+repos_url)
- oldrepos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(oldrepos, TrunkBranchingScheme())
dir = BzrDir.create("f",format=format.get_rich_root_format())
newrepos = dir.create_repository()
oldrepos.copy_content_into(newrepos)
def test_set_branching_scheme(self):
repos_url = self.make_client('d', 'dc')
repos = Repository.open(repos_url)
- repos.set_branching_scheme(NoBranchingScheme())
+ set_branching_scheme(repos, NoBranchingScheme())
def testlhs_revision_parent_none(self):
repos_url = self.make_client('d', 'dc')
repos = Repository.open(repos_url)
- repos.set_branching_scheme(NoBranchingScheme())
- self.assertEquals(None, repos.lhs_revision_parent("", 0, NoBranchingScheme()))
+ set_branching_scheme(repos, NoBranchingScheme())
+ self.assertEquals(NULL_REVISION, repos.lhs_revision_parent("", 0, NoBranchingScheme()))
def testlhs_revision_parent_first(self):
repos_url = self.make_client('d', 'dc')
repos = Repository.open(repos_url)
- repos.set_branching_scheme(NoBranchingScheme())
+ set_branching_scheme(repos, NoBranchingScheme())
self.build_tree({'dc/adir/afile': "data"})
self.client_add("dc/adir")
self.client_commit("dc", "Initial commit")
self.build_tree({'dc/trunk/adir/afile': "bla"})
self.client_commit("dc", "Incremental commit")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme())
+ set_branching_scheme(repos, TrunkBranchingScheme())
mapping = repos.get_mapping()
self.assertEquals(repos.generate_revision_id(1, "trunk", mapping), \
repos.lhs_revision_parent("trunk", 2, mapping))
self.build_tree({'dc/de/trunk/adir/afile': "bla"})
self.client_commit("dc", "Change de")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme(1))
+ set_branching_scheme(repos, TrunkBranchingScheme(1))
mapping = repos.get_mapping()
self.assertEquals(repos.generate_revision_id(1, "py/trunk", mapping), \
repos.lhs_revision_parent("de/trunk", 3, mapping))
self.client_copy("dc/py/trunk", "dc/de/trunk")
self.client_commit("dc", "Copy trunk")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme(1))
+ set_branching_scheme(repos, TrunkBranchingScheme(1))
mapping = repos.get_mapping()
self.assertEquals(repos.generate_revision_id(1, "py/trunk", mapping), \
repos.lhs_revision_parent("de/trunk", 2, mapping))
self.client_delete("dc/de/trunk/adir")
self.client_commit("dc", "Another incremental commit")
repos = Repository.open(repos_url)
- repos.set_branching_scheme(TrunkBranchingScheme(1))
+ set_branching_scheme(repos, TrunkBranchingScheme(1))
mapping = repos.get_mapping()
self.assertEquals(repos.generate_revision_id(1, "py/trunk", mapping), \
repos.lhs_revision_parent("de/trunk", 3, mapping))