At http://people.samba.org/bzr/jelmer/bzr-svn/0.5
------------------------------------------------------------ revno: 2265 revision-id: [email protected] parent: [email protected] committer: Jelmer Vernooij <[email protected]> branch nick: 0.5 timestamp: Tue 2008-12-16 00:51:35 +0100 message: Fix assertion error when pushing tags to a repository layout that doesn't support them. modified: branch.py svnbranch.py-20051017135706-11c749eb0dab04a7 tests/test_branch.py test_branch.py-20060508162215-74ffeb5d608f8e20 === modified file 'branch.py' --- a/branch.py 2008-12-07 20:36:39 +0000 +++ b/branch.py 2008-12-15 23:51:35 +0000 @@ -77,12 +77,12 @@ """ self.repository = repository self._format = SvnBranchFormat() + self.layout = self.repository.get_layout() assert isinstance(self.repository, SvnRepository) super(SvnBranch, self).__init__(mapping or self.repository.get_mapping()) self.control_files = FakeControlFiles() self._lock_mode = None self._lock_count = 0 - self.layout = self.repository.get_layout() self._branch_path = branch_path.strip("/") self.base = urlutils.join(self.repository.base, self._branch_path).rstrip("/") @@ -106,6 +106,12 @@ if type not in ('branch', 'tag') or ip != '': raise NotBranchError(branch_path) + def supports_tags(self): + """See Branch.supports_tags().""" + return (self._format.supports_tags() and + self.mapping.supports_tags() and + self.layout.supports_tags()) + def _make_tags(self): if self.supports_tags(): return SubversionTags(self) === modified file 'tests/test_branch.py' --- a/tests/test_branch.py 2008-11-12 19:49:51 +0000 +++ b/tests/test_branch.py 2008-12-15 23:51:35 +0000 @@ -19,7 +19,7 @@ from bzrlib import urlutils from bzrlib.branch import Branch from bzrlib.bzrdir import BzrDir -from bzrlib.errors import NoSuchFile, NoSuchRevision, NotBranchError, NoSuchTag +from bzrlib.errors import NoSuchFile, NoSuchRevision, NotBranchError, NoSuchTag, TagsNotSupported from bzrlib.repository import Repository from bzrlib.revision import NULL_REVISION from bzrlib.trace import mutter @@ -91,6 +91,19 @@ b = Branch.open(repos_url + "/trunk") self.assertEquals([], b.tags.get_tag_dict().keys()) + def test_tag_set_not_supported(self): + repos_url = self.make_repository('a') + + dc = self.get_commit_editor(repos_url) + trunk = dc.add_dir("trunk") + trunk.add_dir("trunk/gui") + dc.close() + + b = Branch.open(repos_url + "/trunk/gui") + self.assertRaises(TagsNotSupported, + b.tags.set_tag, u"mytag", + b.repository.generate_revision_id(1, "trunk/gui", b.repository.get_mapping())) + def test_tag_lookup(self): repos_url = self.make_repository("a") -- bazaar-commits mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/bazaar-commits
