Rev 5323: (lifeless) Do not return bzrdirs in find_bzrdirs where there is a branch in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Mon Jun 28 04:12:50 BST 2010


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

------------------------------------------------------------
revno: 5323 [merge]
revision-id: pqm at pqm.ubuntu.com-20100628031248-icctusovofhlk7z9
parent: pqm at pqm.ubuntu.com-20100628014512-l4w7dmgpmt1pj5c4
parent: robertc at robertcollins.net-20100625044954-prx0188xfpdgj11g
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2010-06-28 04:12:48 +0100
message:
  (lifeless) Do not return bzrdirs in find_bzrdirs where there is a branch
   with no repository available to it. (Marius Kruger) (Robert Collins)
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
=== modified file 'NEWS'
--- a/NEWS	2010-06-27 05:25:03 +0000
+++ b/NEWS	2010-06-28 03:12:48 +0000
@@ -58,6 +58,9 @@
   or pull location in locations.conf or branch.conf.
   (Gordon Tyler, #534787)
 
+* ``BzrDir.find_branches`` should ignore branches with missing repositories.
+  (Marius Kruger, Robert Collins)
+
 * ``BzrDir.find_bzrdirs`` should ignore dirs that raises PermissionDenied.
   (Marius Kruger, Robert Collins)
 

=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2010-06-25 04:24:10 +0000
+++ b/bzrlib/bzrdir.py	2010-06-28 03:12:48 +0000
@@ -394,7 +394,7 @@
         """
         try:
             return [self.open_branch()]
-        except errors.NotBranchError:
+        except (errors.NotBranchError, errors.NoRepositoryPresent):
             return []
 
     @staticmethod

=== modified file 'bzrlib/tests/test_bzrdir.py'
--- a/bzrlib/tests/test_bzrdir.py	2010-06-25 01:49:49 +0000
+++ b/bzrlib/tests/test_bzrdir.py	2010-06-25 04:49:54 +0000
@@ -24,6 +24,7 @@
 import sys
 
 from bzrlib import (
+    branch,
     bzrdir,
     errors,
     help_topics,
@@ -888,6 +889,21 @@
         self.assertEqual(bar.root_transport.base, branches[1].base)
 
 
+class TestMissingRepoBranchesSkipped(TestCaseWithMemoryTransport):
+
+    def test_find_bzrdirs_missing_repo(self):
+        transport = get_transport(self.get_url())
+        arepo = self.make_repository('arepo', shared=True)
+        abranch_url = arepo.user_url + '/abranch'
+        abranch = bzrdir.BzrDir.create(abranch_url).create_branch()
+        transport.delete_tree('arepo/.bzr')
+        self.assertRaises(errors.NoRepositoryPresent,
+            branch.Branch.open, abranch_url)
+        self.make_branch('baz')
+        for actual_bzrdir in bzrdir.BzrDir.find_branches(transport):
+            self.assertEndsWith(actual_bzrdir.user_url, '/baz/')
+
+
 class TestMeta1DirFormat(TestCaseWithTransport):
     """Tests specific to the meta1 dir format."""
 




More information about the bazaar-commits mailing list