Rev 4143: Make merge --force work again. in http://people.ubuntu.com/~robertc/baz2.0/pending/merge
Robert Collins
robertc at robertcollins.net
Fri Mar 13 06:46:31 GMT 2009
At http://people.ubuntu.com/~robertc/baz2.0/pending/merge
------------------------------------------------------------
revno: 4143
revision-id: robertc at robertcollins.net-20090313064625-ufwahhop77x1v139
parent: pqm at pqm.ubuntu.com-20090313035623-vn0615cs6bd6590e
committer: Robert Collins <robertc at robertcollins.net>
branch nick: merge
timestamp: Fri 2009-03-13 17:46:25 +1100
message:
Make merge --force work again.
=== modified file 'NEWS'
--- a/NEWS 2009-03-13 03:16:26 +0000
+++ b/NEWS 2009-03-13 06:46:25 +0000
@@ -42,7 +42,9 @@
* Fixed incorrect "Source format does not support stacking" warning
when pushing to a smart server. (Andrew Bennetts, #334114)
-
+
+ * ``merge --force`` works again. (Robert Collins, #342105)
+
* The GNU Changelog formatter is slightly improved in the case where
the delta is empty, and now correctly claims not to support tags.
(Andrea Bolognani)
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2009-03-13 01:27:47 +0000
+++ b/bzrlib/builtins.py 2009-03-13 06:46:25 +0000
@@ -3387,9 +3387,10 @@
basis_tree = tree.revision_tree(tree.last_revision())
except errors.NoSuchRevision:
basis_tree = tree.basis_tree()
- changes = tree.changes_from(basis_tree)
- if changes.has_changed():
- raise errors.UncommittedChanges(tree)
+ if not force:
+ changes = tree.changes_from(basis_tree)
+ if changes.has_changed():
+ raise errors.UncommittedChanges(tree)
view_info = _get_view_info_for_change_reporter(tree)
change_reporter = delta._ChangeReporter(
=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- a/bzrlib/tests/blackbox/test_merge.py 2009-02-27 08:37:19 +0000
+++ b/bzrlib/tests/blackbox/test_merge.py 2009-03-13 06:46:25 +0000
@@ -491,6 +491,18 @@
out, err = self.run_bzr(['merge', '-d', 'a', 'b'])
self.assertContainsRe(err, 'Warning: criss-cross merge encountered.')
+ def test_merge_force(self):
+ tree_a = self.make_branch_and_tree('a')
+ self.build_tree(['a/foo'])
+ tree_a.add(['foo'])
+ tree_a.commit('add file')
+ tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
+ self.build_tree_contents([('a/foo', 'change 1')])
+ tree_a.commit('change file')
+ tree_b.merge_from_branch(tree_a.branch)
+ tree_a.commit('empty change to allow merge to run')
+ self.run_bzr(['merge', '../a', '--force'], working_dir='b')
+
def test_merge_from_submit(self):
tree_a = self.make_branch_and_tree('a')
tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
More information about the bazaar-commits
mailing list