Rev 4458: (andrew) Fix branch format upgrades triggered by default stacking in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Thu Jun 18 06:13:47 BST 2009
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4458
revision-id: pqm at pqm.ubuntu.com-20090618051343-c9ltrfncx8hvw729
parent: pqm at pqm.ubuntu.com-20090618033331-kf1flup0bdqchydh
parent: andrew.bennetts at canonical.com-20090618034314-ufk7kb1tdwavagwd
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2009-06-18 06:13:43 +0100
message:
(andrew) Fix branch format upgrades triggered by default stacking
policy on a smart server.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
------------------------------------------------------------
revno: 4456.2.1
revision-id: andrew.bennetts at canonical.com-20090618034314-ufk7kb1tdwavagwd
parent: pqm at pqm.ubuntu.com-20090617213303-9ngqs0i399xitemd
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: default-stacking-again
timestamp: Thu 2009-06-18 13:43:14 +1000
message:
Fix automatic branch format upgrades triggered by a default stacking policy on a 1.16rc1 (or later) smart server.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
=== modified file 'NEWS'
--- a/NEWS 2009-06-18 02:01:16 +0000
+++ b/NEWS 2009-06-18 05:13:43 +0000
@@ -25,6 +25,10 @@
diverged-branches`` when a push fails because the branches have
diverged. (Neil Martinsen-Burrell, #269477)
+* Automatic format upgrades triggered by default stacking policies on a
+ 1.16rc1 (or later) smart server work again.
+ (Andrew Bennetts, #388675)
+
* Better message in ``bzr split`` error suggesting a rich root format.
(Neil Martinsen-Burrell, #220067)
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py 2009-06-12 03:44:12 +0000
+++ b/bzrlib/bzrdir.py 2009-06-18 03:43:14 +0000
@@ -2358,7 +2358,8 @@
def set_branch_format(self, format):
self._branch_format = format
- def require_stacking(self, stack_on=None, possible_transports=None):
+ def require_stacking(self, stack_on=None, possible_transports=None,
+ _skip_repo=False):
"""We have a request to stack, try to ensure the formats support it.
:param stack_on: If supplied, it is the URL to a branch that we want to
@@ -2402,7 +2403,8 @@
target[:] = [target_branch, True, False]
return target
- if not (self.repository_format.supports_external_lookups):
+ if (not _skip_repo and
+ not self.repository_format.supports_external_lookups):
# We need to upgrade the Repository.
target_branch, _, do_upgrade = get_target_branch()
if target_branch is None:
@@ -3268,6 +3270,10 @@
else:
remote_repo = None
policy = None
+ if require_stacking:
+ # The repo has already been created, but we need to make sure that
+ # we'll make a stackable branch.
+ bzrdir._format.require_stacking(_skip_repo=True)
return remote_repo, bzrdir, require_stacking, policy
def _open(self, transport):
=== modified file 'bzrlib/tests/bzrdir_implementations/test_bzrdir.py'
--- a/bzrlib/tests/bzrdir_implementations/test_bzrdir.py 2009-06-11 03:15:57 +0000
+++ b/bzrlib/tests/bzrdir_implementations/test_bzrdir.py 2009-06-18 03:43:14 +0000
@@ -1275,6 +1275,9 @@
fallback_repo = repo._fallback_repositories[0]
self.assertEqual(
stack_on.base, fallback_repo.bzrdir.root_transport.base)
+ # The bzrdir creates a branch in stacking-capable format.
+ new_branch = control.create_branch()
+ self.assertTrue(new_branch._format.supports_stacking())
def test_format_initialize_on_transport_ex_repo_fmt_name_None(self):
t = self.get_transport('dir')
More information about the bazaar-commits
mailing list