Merge lp:~garyvdm/bzr/Bug427773 into lp:bzr

Proposed by Gary van der Merwe
Status: Merged
Approved by: John A Meinel
Approved revision: no longer in the source branch.
Merged at revision: not available
Proposed branch: lp:~garyvdm/bzr/Bug427773
Merge into: lp:bzr
Diff against target: None lines
To merge this branch: bzr merge lp:~garyvdm/bzr/Bug427773
Reviewer Review Type Date Requested Status
John A Meinel Approve
Vincent Ladeuil Approve
Review via email: mp+11601@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Vincent Ladeuil (vila) wrote :

Clap clap clap.

review: Approve
Revision history for this message
John A Meinel (jameinel) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bzrlib/merge.py'
--- bzrlib/merge.py 2009-08-28 05:00:33 +0000
+++ bzrlib/merge.py 2009-09-11 13:32:55 +0000
@@ -613,19 +613,21 @@
613 self.this_tree.lock_tree_write()613 self.this_tree.lock_tree_write()
614 self.base_tree.lock_read()614 self.base_tree.lock_read()
615 self.other_tree.lock_read()615 self.other_tree.lock_read()
616 self.tt = TreeTransform(self.this_tree, self.pb)
617 try:616 try:
618 self.pp.next_phase()617 self.tt = TreeTransform(self.this_tree, self.pb)
619 self._compute_transform()
620 self.pp.next_phase()
621 results = self.tt.apply(no_conflicts=True)
622 self.write_modified(results)
623 try:618 try:
624 self.this_tree.add_conflicts(self.cooked_conflicts)619 self.pp.next_phase()
625 except UnsupportedOperation:620 self._compute_transform()
626 pass621 self.pp.next_phase()
622 results = self.tt.apply(no_conflicts=True)
623 self.write_modified(results)
624 try:
625 self.this_tree.add_conflicts(self.cooked_conflicts)
626 except UnsupportedOperation:
627 pass
628 finally:
629 self.tt.finalize()
627 finally:630 finally:
628 self.tt.finalize()
629 self.other_tree.unlock()631 self.other_tree.unlock()
630 self.base_tree.unlock()632 self.base_tree.unlock()
631 self.this_tree.unlock()633 self.this_tree.unlock()
632634
=== modified file 'bzrlib/tests/test_merge.py'
--- bzrlib/tests/test_merge.py 2009-08-28 05:00:33 +0000
+++ bzrlib/tests/test_merge.py 2009-09-11 13:32:55 +0000
@@ -36,7 +36,7 @@
36from bzrlib.osutils import pathjoin, file_kind36from bzrlib.osutils import pathjoin, file_kind
37from bzrlib.tests import TestCaseWithTransport, TestCaseWithMemoryTransport37from bzrlib.tests import TestCaseWithTransport, TestCaseWithMemoryTransport
38from bzrlib.workingtree import WorkingTree38from bzrlib.workingtree import WorkingTree
3939from bzrlib.transform import TreeTransform
4040
41class TestMerge(TestCaseWithTransport):41class TestMerge(TestCaseWithTransport):
42 """Test appending more than one revision"""42 """Test appending more than one revision"""
@@ -284,7 +284,8 @@
284 except AttributeError:284 except AttributeError:
285 self.fail('tried to join a path when name was None')285 self.fail('tried to join a path when name was None')
286286
287 def test_merge_uncommitted_otherbasis_ancestor_of_thisbasis(self):287
288 def test_merge_existing_limbo_or_pending_deletion(self):
288 tree_a = self.make_branch_and_tree('a')289 tree_a = self.make_branch_and_tree('a')
289 self.build_tree(['a/file_1', 'a/file_2'])290 self.build_tree(['a/file_1', 'a/file_2'])
290 tree_a.add(['file_1'])291 tree_a.add(['file_1'])
@@ -1143,6 +1144,27 @@
1143 'X\n'1144 'X\n'
1144 'e\n', 'test/foo')1145 'e\n', 'test/foo')
11451146
1147 def get_limbodir_deletiondir(self, wt):
1148 transform = TreeTransform(wt)
1149 limbodir = transform._limbodir
1150 deletiondir = transform._deletiondir
1151 transform.finalize()
1152 return (limbodir, deletiondir)
1153
1154 def test_merge_with_existing_limbo(self):
1155 wt = self.make_branch_and_tree('this')
1156 (limbodir, deletiondir) = self.get_limbodir_deletiondir(wt)
1157 os.mkdir(limbodir)
1158 self.assertRaises(errors.ExistingLimbo, self.do_merge, wt, wt)
1159 self.assertRaises(errors.LockError, wt.unlock)
1160
1161 def test_merge_with_pending_deletion(self):
1162 wt = self.make_branch_and_tree('this')
1163 (limbodir, deletiondir) = self.get_limbodir_deletiondir(wt)
1164 os.mkdir(deletiondir)
1165 self.assertRaises(errors.ExistingPendingDeletion, self.do_merge, wt, wt)
1166 self.assertRaises(errors.LockError, wt.unlock)
1167
11461168
1147class TestMerge3Merge(TestCaseWithTransport, TestMergeImplementation):1169class TestMerge3Merge(TestCaseWithTransport, TestMergeImplementation):
11481170