Rev 5862: Don't set submit_branch if it's not yet set when merging. in file:///home/vila/src/bzr/bugs/782169-remember-better-or-not/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Sat May 14 14:09:09 UTC 2011
At file:///home/vila/src/bzr/bugs/782169-remember-better-or-not/
------------------------------------------------------------
revno: 5862
revision-id: v.ladeuil+lp at free.fr-20110514140909-evshhzlg3ib8mp06
parent: pqm at pqm.ubuntu.com-20110513195932-upsvlswzyvwodep0
fixes bug(s): https://launchpad.net/bugs/782169
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 782169-remember-better-or-not
timestamp: Sat 2011-05-14 16:09:09 +0200
message:
Don't set submit_branch if it's not yet set when merging.
-------------- next part --------------
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2011-05-03 13:53:46 +0000
+++ b/bzrlib/builtins.py 2011-05-14 14:09:09 +0000
@@ -3931,7 +3931,7 @@
]
def run(self, location=None, revision=None, force=False,
- merge_type=None, show_base=False, reprocess=None, remember=False,
+ merge_type=None, show_base=False, reprocess=None, remember=None,
uncommitted=False, pull=False,
directory=None,
preview=False,
@@ -4114,9 +4114,15 @@
if other_revision_id is None:
other_revision_id = _mod_revision.ensure_null(
other_branch.last_revision())
- # Remember where we merge from
- if ((remember or tree.branch.get_submit_branch() is None) and
- user_location is not None):
+ # Remember where we merge from. We need to remember if:
+ # - user specify a location (and we don't merge from the parent
+ # branch)
+ # - user ask to remember or there is no previous location set to merge
+ # from and user didn't ask to *not* remember
+ if (user_location is not None
+ and ((remember
+ or (remember is None
+ and tree.branch.get_submit_branch() is None)))):
tree.branch.set_submit_branch(other_branch.base)
# Merge tags (but don't set them in the master branch yet, the user
# might revert this merge). Commit will propagate them.
=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- a/bzrlib/tests/blackbox/test_merge.py 2011-05-13 12:51:05 +0000
+++ b/bzrlib/tests/blackbox/test_merge.py 2011-05-14 14:09:09 +0000
@@ -555,6 +555,20 @@
self.assertEqual(tree_b.branch.get_submit_branch(),
tree_a.bzrdir.root_transport.base)
+ def test_no_remember_dont_set_submit(self):
+ tree_a = self.make_branch_and_tree('a')
+ tree_b = tree_a.bzrdir.sprout('b').open_workingtree()
+ self.assertIs(tree_b.branch.get_submit_branch(), None)
+
+ # Remember should not happen if using default from parent
+ out, err = self.run_bzr(['merge', '-d', 'b', '--no-remember'])
+ self.assertEquals(None, tree_b.branch.get_submit_branch())
+
+ # Remember should not happen if user supplies location but ask for not
+ # remembering it
+ out, err = self.run_bzr(['merge', '-d', 'b', '--no-remember', 'a'])
+ self.assertEqual(None, tree_b.branch.get_submit_branch())
+
def test_weave_cherrypick(self):
this_tree = self.make_branch_and_tree('this')
self.build_tree_contents([('this/file', "a\n")])
=== modified file 'doc/en/release-notes/bzr-2.4.txt'
--- a/doc/en/release-notes/bzr-2.4.txt 2011-05-13 14:02:14 +0000
+++ b/doc/en/release-notes/bzr-2.4.txt 2011-05-14 14:09:09 +0000
@@ -198,6 +198,9 @@
are only small changes to a large tree.
(Ian Clatworthy, John Arbash Meinel, #380202)
+* ``bzr merge --no-remember location`` will not set ``submit_branch`` anymore
+ if it is *not* yet set. (Vincent Ladeuil, #782169)
+
* Lazy hooks are now reset between test runs. (Jelmer Vernooij, #745566)
* ``bzrlib.merge.Merge`` now calls ``iter_changes`` without
More information about the bazaar-commits
mailing list