At http://people.samba.org/bzr/jelmer/bzr-svn/0.5
------------------------------------------------------------ revno: 2270 revision-id: [email protected] parent: [email protected] committer: Jelmer Vernooij <[email protected]> branch nick: 0.5 timestamp: Tue 2008-12-16 05:01:47 +0100 message: Fix sticky branches in iter_all_changes(). modified: NEWS news-20061231030336-h9fhq245ie0de8bs-1 revmeta.py revmeta.py-20080901215045-n8a6arqybs9ez5hl-1 tests/test_changes.py test_changes.py-20080529111734-f7fbshmnlgnvue45-1 === modified file 'NEWS' --- a/NEWS 2008-12-14 02:51:46 +0000 +++ b/NEWS 2008-12-16 04:01:47 +0000 @@ -23,6 +23,9 @@ * Fix pointless commits when using roundtripping using revision properties. (#299943) + * Make sure branches are properly removed in iter_all_changes(). + (#306288, #300006) + bzr-svn 0.5.0~rc1 2008-12-08 CHANGES === modified file 'revmeta.py' --- a/revmeta.py 2008-12-16 01:57:44 +0000 +++ b/revmeta.py 2008-12-16 04:01:47 +0000 @@ -1022,11 +1022,17 @@ # didn't exist previously if new_name in self._metabranches: if self._metabranches[new_name]._revs: - self._metabranches[new_name]._revs[-1]._set_direct_lhs_parent_revmeta(None) + rev = self._metabranches[new_name]._revs[-1] + assert rev.branch_path == new_name + rev._set_direct_lhs_parent_revmeta(None) del self._metabranches[new_name] + if new_name in metabranches_history[revnum]: + del metabranches_history[revnum][new_name] else: data = self._metabranches[new_name] del self._metabranches[new_name] + if new_name in metabranches_history[revnum]: + del metabranches_history[revnum][new_name] metabranches_history[old_rev][old_name].add(data) if not self.layout.is_branch_or_tag(old_name, project): unusual_history[old_rev].add(old_name) @@ -1039,6 +1045,7 @@ yield "revision", revmeta self._last_revnum = revnum remembered = metabranches_history[revnum] + del metabranches_history[revnum] def filter_revisions(it): === modified file 'tests/test_changes.py' --- a/tests/test_changes.py 2008-08-29 20:03:11 +0000 +++ b/tests/test_changes.py 2008-12-16 04:01:47 +0000 @@ -14,7 +14,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. from bzrlib.tests import TestCase -from bzrlib.plugins.svn.changes import path_is_child, find_prev_location, changes_root +from bzrlib.plugins.svn.changes import path_is_child, find_prev_location, changes_root, apply_reverse_changes class PathIsChildTests(TestCase): def test_both_empty(self): @@ -74,3 +74,10 @@ def test_multiple_roots(self): self.assertEquals(None, changes_root(["bla", "blie"])) + + +class ApplyReverseChangesTests(TestCase): + + def test_parent_rename(self): + self.assertEquals([('tags/2.5-M2', 'geotools/tags/2.5-M2', 5617)], + list(apply_reverse_changes(['trunk/geotools2', 'tags/2.5-M2', 'trunk'], {'tags': (u'A', 'geotools/tags', 5617), 'geotools/tags': (u'D', None, -1)}))) -- bazaar-commits mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/bazaar-commits
