Rev 2270: Fix sticky branches in iter_all_changes(). in http://people.samba.org/bzr/jelmer/bzr-svn/0.5
Jelmer Vernooij
jelmer at samba.org
Tue Dec 16 04:01:51 GMT 2008
At http://people.samba.org/bzr/jelmer/bzr-svn/0.5
------------------------------------------------------------
revno: 2270
revision-id: jelmer at samba.org-20081216040147-qp5egjmxk5h6rzzm
parent: jelmer at samba.org-20081216015744-ke3oy2gzhpjovp16
committer: Jelmer Vernooij <jelmer at samba.org>
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)})))
More information about the bazaar-commits
mailing list