Rev 4433: (jml) Fix bug 385132 so that relative default_stack_on locations work in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Thu Jun 11 13:00:28 BST 2009


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 4433
revision-id: pqm at pqm.ubuntu.com-20090611120023-8sfgsnttczc1e8s5
parent: pqm at pqm.ubuntu.com-20090611091121-s2u2yy5qa9yh4bm1
parent: jml at canonical.com-20090611110253-l7g3as9eql5rnvpf
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2009-06-11 13:00:23 +0100
message:
  (jml) Fix bug 385132 so that relative default_stack_on locations work
  	again.
modified:
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/smart/bzrdir.py         bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
  bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
  bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
  bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
  bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
    ------------------------------------------------------------
    revno: 4416.3.15
    revision-id: jml at canonical.com-20090611110253-l7g3as9eql5rnvpf
    parent: jml at canonical.com-20090611101427-7rfvbn7zpqb3c30z
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 21:02:53 +1000
    message:
      Use a URL joiner that works.
    modified:
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
    ------------------------------------------------------------
    revno: 4416.3.14
    revision-id: jml at canonical.com-20090611101427-7rfvbn7zpqb3c30z
    parent: jml at canonical.com-20090611101134-o8c60080ut5krtte
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 20:14:27 +1000
    message:
      Not looking at the log in the test.
    modified:
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
    ------------------------------------------------------------
    revno: 4416.3.13
    revision-id: jml at canonical.com-20090611101134-o8c60080ut5krtte
    parent: jml at canonical.com-20090611083815-ok2qxui0599x5mof
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 20:11:34 +1000
    message:
      full_path -> client_path, use _root_client_path rather than 
      target_transport.base.
    modified:
      bzrlib/smart/bzrdir.py         bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
    ------------------------------------------------------------
    revno: 4416.3.12
    revision-id: jml at canonical.com-20090611083815-ok2qxui0599x5mof
    parent: jml at canonical.com-20090611081737-ck14jazph9b8hb6u
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 18:38:15 +1000
    message:
      This makes the test pass, but it's a bit ick.
    modified:
      bzrlib/smart/bzrdir.py         bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
    ------------------------------------------------------------
    revno: 4416.3.11
    revision-id: jml at canonical.com-20090611081737-ck14jazph9b8hb6u
    parent: jml at canonical.com-20090611071044-0n4m26tuuxm1e7v8
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 18:17:37 +1000
    message:
      Guard in case it's none.
    modified:
      bzrlib/smart/bzrdir.py         bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
    ------------------------------------------------------------
    revno: 4416.3.10
    revision-id: jml at canonical.com-20090611071044-0n4m26tuuxm1e7v8
    parent: jml at canonical.com-20090611065852-ga4ftpif1qeyjs75
    parent: pqm at pqm.ubuntu.com-20090611022914-p9nxmjfongc8w3va
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 17:10:44 +1000
    message:
      Merge trunk
    removed:
      doc/developers/performance-contributing.txt performancecontribut-20070621063612-ac4zhhagjzkr21qp-1
    added:
      bzrlib/util/bencode.py         bencode.py-20090609141817-jtvhqq6vyryjoeky-1
      doc/index.ru.txt               index.ru.txt-20080819091426-kfq61l02dhm9pplk-1
      doc/ru/                        ru-20080818031309-t3nyctvfbvfh4h2u-1
      doc/ru/mini-tutorial/          minitutorial-20080818031309-t3nyctvfbvfh4h2u-2
      doc/ru/mini-tutorial/index.txt index.txt-20080818031309-t3nyctvfbvfh4h2u-4
      doc/ru/quick-reference/        quickreference-20080818031309-t3nyctvfbvfh4h2u-3
      doc/ru/quick-reference/Makefile makefile-20080818031309-t3nyctvfbvfh4h2u-5
      doc/ru/quick-reference/quick-start-summary.pdf quickstartsummary.pd-20080818031309-t3nyctvfbvfh4h2u-6
      doc/ru/quick-reference/quick-start-summary.png quickstartsummary.pn-20080818031309-t3nyctvfbvfh4h2u-7
      doc/ru/quick-reference/quick-start-summary.svg quickstartsummary.sv-20080818031309-t3nyctvfbvfh4h2u-8
      doc/ru/tutorials/              docrututorials-20090427084615-toum0jo7qohd807p-1
      doc/ru/tutorials/centralized_workflow.txt centralized_workflow-20090531190825-ex3ums4bcuaf2r6k-1
      doc/ru/tutorials/tutorial.txt  tutorial.txt-20090602180629-wkp7wr27jl4i2zep-1
      doc/ru/tutorials/using_bazaar_with_launchpad.txt using_bazaar_with_la-20090427084917-b22ppqtdx7q4hapw-1
      doc/ru/user-guide/             docruuserguide-20090601191403-rcoy6nsre0vjiozm-1
      doc/ru/user-guide/branching_a_project.txt branching_a_project.-20090602104644-pjpwfx7xh2k5l0ba-1
      doc/ru/user-guide/core_concepts.txt core_concepts.txt-20090602104644-pjpwfx7xh2k5l0ba-2
      doc/ru/user-guide/images/      images-20090601201124-cruf3mmq5cfxeb1w-1
      doc/ru/user-guide/images/workflows_centralized.png workflows_centralize-20090601201124-cruf3mmq5cfxeb1w-3
      doc/ru/user-guide/images/workflows_centralized.svg workflows_centralize-20090601201124-cruf3mmq5cfxeb1w-4
      doc/ru/user-guide/images/workflows_gatekeeper.png workflows_gatekeeper-20090601201124-cruf3mmq5cfxeb1w-5
      doc/ru/user-guide/images/workflows_gatekeeper.svg workflows_gatekeeper-20090601201124-cruf3mmq5cfxeb1w-6
      doc/ru/user-guide/images/workflows_localcommit.png workflows_localcommi-20090601201124-cruf3mmq5cfxeb1w-7
      doc/ru/user-guide/images/workflows_localcommit.svg workflows_localcommi-20090601201124-cruf3mmq5cfxeb1w-8
      doc/ru/user-guide/images/workflows_peer.png workflows_peer.png-20090601201124-cruf3mmq5cfxeb1w-9
      doc/ru/user-guide/images/workflows_peer.svg workflows_peer.svg-20090601201124-cruf3mmq5cfxeb1w-10
      doc/ru/user-guide/images/workflows_pqm.png workflows_pqm.png-20090601201124-cruf3mmq5cfxeb1w-11
      doc/ru/user-guide/images/workflows_pqm.svg workflows_pqm.svg-20090601201124-cruf3mmq5cfxeb1w-12
      doc/ru/user-guide/images/workflows_shared.png workflows_shared.png-20090601201124-cruf3mmq5cfxeb1w-13
      doc/ru/user-guide/images/workflows_shared.svg workflows_shared.svg-20090601201124-cruf3mmq5cfxeb1w-14
      doc/ru/user-guide/images/workflows_single.png workflows_single.png-20090601201124-cruf3mmq5cfxeb1w-15
      doc/ru/user-guide/images/workflows_single.svg workflows_single.svg-20090601201124-cruf3mmq5cfxeb1w-16
      doc/ru/user-guide/index.txt    index.txt-20090601201124-cruf3mmq5cfxeb1w-2
      doc/ru/user-guide/introducing_bazaar.txt introducing_bazaar.t-20090601221109-6ehwbt2pvzgpftlu-1
      doc/ru/user-guide/specifying_revisions.txt specifying_revisions-20090602104644-pjpwfx7xh2k5l0ba-3
      doc/ru/user-guide/stacked.txt  stacked.txt-20090602104644-pjpwfx7xh2k5l0ba-4
      doc/ru/user-guide/using_checkouts.txt using_checkouts.txt-20090602104644-pjpwfx7xh2k5l0ba-5
      doc/ru/user-guide/zen.txt      zen.txt-20090602104644-pjpwfx7xh2k5l0ba-6
    modified:
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/filters/__init__.py     __init__.py-20080416080515-mkxl29amuwrf6uir-2
      bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/lock.py                 lock.py-20050527050856-ec090bb51bc03349
      bzrlib/mail_client.py          mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/progress.py             progress.py-20050610070202-df9faaab791964c0
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/smart/medium.py         medium.py-20061103051856-rgu2huy59fkz902q-1
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
      bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
      bzrlib/tests/test_eol_filters.py test_eol_filters.py-20090327060429-todzdjmqt3bpv5r8-2
      bzrlib/tests/test_filters.py   test_filters.py-20080417120614-tc3zok0vvvprsc99-1
      bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
      bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
      bzrlib/tests/test_progress.py  test_progress.py-20060308160359-978c397bc79b7fda
      bzrlib/tests/test_ui.py        test_ui.py-20051130162854-458e667a7414af09
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
      bzrlib/win32utils.py           win32console.py-20051021033308-123c6c929d04973d
      doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
      doc/developers/planned-change-integration.txt plannedchangeintegra-20070619004702-i1b3ccamjtfaoq6w-1
      doc/en/developer-guide/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
      doc/en/quick-reference/Makefile makefile-20070813143223-5i7bgw7w8s7l3ae2-2
      doc/en/quick-reference/quick-start-summary.png quickstartsummary.pn-20071203142852-hsiybkmh37q5owwe-1
      doc/en/tutorials/using_bazaar_with_launchpad.txt using_bazaar_with_lp-20071211073140-7msh8uf9a9h4y9hb-1
      doc/en/user-guide/images/workflows_centralized.png workflows_centralize-20071114035000-q36a9h57ps06uvnl-8
      doc/en/user-guide/images/workflows_gatekeeper.png workflows_gatekeeper-20071114035000-q36a9h57ps06uvnl-9
      doc/en/user-guide/images/workflows_localcommit.png workflows_localcommi-20071114035000-q36a9h57ps06uvnl-10
      doc/en/user-guide/images/workflows_peer.png workflows_peer.png-20071114035000-q36a9h57ps06uvnl-11
      doc/en/user-guide/images/workflows_pqm.png workflows_pqm.png-20071114035000-q36a9h57ps06uvnl-12
      doc/en/user-guide/images/workflows_shared.png workflows_shared.png-20071114035000-q36a9h57ps06uvnl-13
      doc/en/user-guide/images/workflows_single.png workflows_single.png-20071114035000-q36a9h57ps06uvnl-14
      doc/en/user-guide/introducing_bazaar.txt introducing_bazaar.t-20071114035000-q36a9h57ps06uvnl-5
      doc/index.txt                  index.txt-20070813101924-07gd9i9d2jt124bf-1
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
    ------------------------------------------------------------
    revno: 4416.3.9
    revision-id: jml at canonical.com-20090611065852-ga4ftpif1qeyjs75
    parent: jml at canonical.com-20090611062217-h2pvqydmelkg9qvp
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 16:58:52 +1000
    message:
      Put the test back the way it was.
    modified:
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
    ------------------------------------------------------------
    revno: 4416.3.8
    revision-id: jml at canonical.com-20090611062217-h2pvqydmelkg9qvp
    parent: jml at canonical.com-20090611062151-mh2kb3t5lyekeg77
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 16:22:17 +1000
    message:
      This makes the unit test & one of the acceptance tests pass.
    modified:
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/smart/bzrdir.py         bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
    ------------------------------------------------------------
    revno: 4416.3.7
    revision-id: jml at canonical.com-20090611062151-mh2kb3t5lyekeg77
    parent: jml at canonical.com-20090611031557-uqog0n2vwko9h8xs
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 16:21:51 +1000
    message:
      Update the test to fail correctly.
    modified:
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
    ------------------------------------------------------------
    revno: 4416.3.6
    revision-id: jml at canonical.com-20090611031557-uqog0n2vwko9h8xs
    parent: jml at canonical.com-20090610080505-lmch4q01z1q7deu2
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Thu 2009-06-11 13:15:57 +1000
    message:
      Failing test that reproduces the error at a low level.
    modified:
      bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
    ------------------------------------------------------------
    revno: 4416.3.5
    revision-id: jml at canonical.com-20090610080505-lmch4q01z1q7deu2
    parent: jml at canonical.com-20090610080404-v1gt2iziggkrm7a5
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Wed 2009-06-10 18:05:05 +1000
    message:
      More unused imports.
    modified:
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
    ------------------------------------------------------------
    revno: 4416.3.4
    revision-id: jml at canonical.com-20090610080404-v1gt2iziggkrm7a5
    parent: jml at canonical.com-20090610080341-wnsgsy70p5jw279u
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Wed 2009-06-10 18:04:04 +1000
    message:
      Fix a typo.
    modified:
      bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
    ------------------------------------------------------------
    revno: 4416.3.3
    revision-id: jml at canonical.com-20090610080341-wnsgsy70p5jw279u
    parent: jml at canonical.com-20090610075209-lde3jns8efjr3jne
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Wed 2009-06-10 18:03:41 +1000
    message:
      Remove unused imports.
    modified:
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
    ------------------------------------------------------------
    revno: 4416.3.2
    revision-id: jml at canonical.com-20090610075209-lde3jns8efjr3jne
    parent: jml at canonical.com-20090610010656-fof67htvppn06xm2
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Wed 2009-06-10 17:52:09 +1000
    message:
      Comment the blackbox tests, for my own sanity.
    modified:
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
    ------------------------------------------------------------
    revno: 4416.3.1
    revision-id: jml at canonical.com-20090610010656-fof67htvppn06xm2
    parent: pqm at pqm.ubuntu.com-20090606005240-2qms4n1eqdshzp0w
    committer: Jonathan Lange <jml at canonical.com>
    branch nick: default-stacking-bug-385132
    timestamp: Wed 2009-06-10 11:06:56 +1000
    message:
      Add two tests, the second of which demonstrates bug 385132.
    modified:
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2009-06-10 03:56:49 +0000
+++ b/bzrlib/bzrdir.py	2009-06-11 11:02:53 +0000
@@ -3249,6 +3249,9 @@
                 repo_bzr = bzrdir
             final_stack = response[8] or None
             final_stack_pwd = response[9] or None
+            if final_stack_pwd:
+                final_stack_pwd = urlutils.join(
+                    transport.base, final_stack_pwd)
             remote_repo = remote.RemoteRepository(repo_bzr, repo_format)
             if len(response) > 10:
                 # Updated server verb that locks remotely.

=== modified file 'bzrlib/smart/bzrdir.py'
--- a/bzrlib/smart/bzrdir.py	2009-04-28 03:55:56 +0000
+++ b/bzrlib/smart/bzrdir.py	2009-06-11 10:11:34 +0000
@@ -17,7 +17,7 @@
 """Server-side bzrdir related request implmentations."""
 
 
-from bzrlib import branch, errors, repository
+from bzrlib import branch, errors, repository, urlutils
 from bzrlib.bzrdir import (
     BzrDir,
     BzrDirFormat,
@@ -407,6 +407,19 @@
             repo.unlock()
         final_stack = final_stack or ''
         final_stack_pwd = final_stack_pwd or ''
+
+        # We want this to be relative to the bzrdir.
+        if final_stack_pwd:
+            final_stack_pwd = urlutils.relative_url(
+                target_transport.base, final_stack_pwd)
+
+        # Can't meaningfully return a root path.
+        if final_stack.startswith('/'):
+            client_path = self._root_client_path + final_stack[1:]
+            final_stack = urlutils.relative_url(
+                self._root_client_path, client_path)
+            final_stack_pwd = '.'
+
         return SuccessfulSmartServerResponse((repo_path, rich_root, tree_ref,
             external_lookup, repo_name, repo_bzrdir_name,
             bzrdir._format.network_name(),

=== modified file 'bzrlib/tests/blackbox/test_push.py'
--- a/bzrlib/tests/blackbox/test_push.py	2009-06-10 03:56:49 +0000
+++ b/bzrlib/tests/blackbox/test_push.py	2009-06-11 10:14:27 +0000
@@ -215,6 +215,31 @@
         remote = branch.Branch.open('public')
         self.assertEndsWith(remote.get_stacked_on_url(), '/parent')
 
+    def test_push_smart_with_default_stacking_url_path_segment(self):
+        # If the default stacked-on location is a path element then branches
+        # we push there over the smart server are stacked and their
+        # stacked_on_url is that exact path segment. Added to nail bug 385132.
+        self.setup_smart_server_with_call_log()
+        self.make_branch('stack-on', format='1.9')
+        self.make_bzrdir('.').get_config().set_default_stack_on(
+            '/stack-on')
+        self.make_branch('from', format='1.9')
+        out, err = self.run_bzr(['push', '-d', 'from', self.get_url('to')])
+        b = branch.Branch.open(self.get_url('to'))
+        self.assertEqual('/extra/stack-on', b.get_stacked_on_url())
+
+    def test_push_smart_with_default_stacking_relative_path(self):
+        # If the default stacked-on location is a relative path then branches
+        # we push there over the smart server are stacked and their
+        # stacked_on_url is a relative path. Added to nail bug 385132.
+        self.setup_smart_server_with_call_log()
+        self.make_branch('stack-on', format='1.9')
+        self.make_bzrdir('.').get_config().set_default_stack_on('stack-on')
+        self.make_branch('from', format='1.9')
+        out, err = self.run_bzr(['push', '-d', 'from', self.get_url('to')])
+        b = branch.Branch.open(self.get_url('to'))
+        self.assertEqual('../stack-on', b.get_stacked_on_url())
+
     def create_simple_tree(self):
         tree = self.make_branch_and_tree('tree')
         self.build_tree(['tree/a'])

=== modified file 'bzrlib/tests/bzrdir_implementations/test_bzrdir.py'
--- a/bzrlib/tests/bzrdir_implementations/test_bzrdir.py	2009-04-28 03:55:56 +0000
+++ b/bzrlib/tests/bzrdir_implementations/test_bzrdir.py	2009-06-11 03:15:57 +0000
@@ -1246,6 +1246,36 @@
         self.assertTrue(repo.is_write_locked())
         repo.unlock()
 
+    def test_format_initialize_on_transport_ex_default_stack_on(self):
+        # When initialize_on_transport_ex uses a stacked-on branch because of
+        # a stacking policy on the target, the location of the fallback
+        # repository is the same as the external location of the stacked-on
+        # branch.
+        balloon = self.make_bzrdir('balloon')
+        if isinstance(balloon, bzrdir.BzrDirMetaFormat1):
+            stack_on = self.make_branch('stack-on', format='1.9')
+        else:
+            stack_on = self.make_branch('stack-on')
+        config = self.make_bzrdir('.').get_config()
+        try:
+            config.set_default_stack_on('stack-on')
+        except errors.BzrError:
+            raise TestNotApplicable('Only relevant for stackable formats.')
+        # Initialize a bzrdir subject to the policy.
+        t = self.get_transport('stacked')
+        repo_fmt = bzrdir.format_registry.make_bzrdir('1.9')
+        repo_name = repo_fmt.repository_format.network_name()
+        repo, control = self.assertInitializeEx(
+            t, need_meta=True, repo_format_name=repo_name, stacked_on=None)
+        if control is None:
+            # uninitialisable format
+            return
+        # There's one fallback repo, with a public location.
+        self.assertLength(1, repo._fallback_repositories)
+        fallback_repo = repo._fallback_repositories[0]
+        self.assertEqual(
+            stack_on.base, fallback_repo.bzrdir.root_transport.base)
+
     def test_format_initialize_on_transport_ex_repo_fmt_name_None(self):
         t = self.get_transport('dir')
         repo, control = self.assertInitializeEx(t)

=== modified file 'bzrlib/tests/test_bzrdir.py'
--- a/bzrlib/tests/test_bzrdir.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/test_bzrdir.py	2009-06-10 08:05:05 +0000
@@ -20,8 +20,6 @@
 """
 
 import os
-import os.path
-from StringIO import StringIO
 import subprocess
 import sys
 
@@ -31,7 +29,6 @@
     help_topics,
     repository,
     osutils,
-    symbol_versioning,
     remote,
     urlutils,
     win32utils,
@@ -47,7 +44,6 @@
     TestCaseWithMemoryTransport,
     TestCaseWithTransport,
     TestSkipped,
-    test_sftp_transport
     )
 from bzrlib.tests import(
     http_server,

=== modified file 'bzrlib/tests/test_smart.py'
--- a/bzrlib/tests/test_smart.py	2009-06-10 03:56:49 +0000
+++ b/bzrlib/tests/test_smart.py	2009-06-11 07:10:44 +0000
@@ -381,7 +381,7 @@
             'subdir/dir', 'False', 'False', 'False', '', '', '', '', 'False')
 
     def test_initialized_dir(self):
-        """Initializing an extant dirctory should fail like the bzrdir api."""
+        """Initializing an extant directory should fail like the bzrdir api."""
         backing = self.get_transport()
         name = self.make_bzrdir('reference')._format.network_name()
         request = smart.bzrdir.SmartServerRequestBzrDirInitializeEx(backing)




More information about the bazaar-commits mailing list