Rev 4227: RemoteRepository.add_fallback_repository no longer calls ensure_real. (Robert Collins, Andrew Bennetts) in http://people.ubuntu.com/~robertc/baz2.0/pending/RemoteRepository.add_fallback_repo

Robert Collins robertc at robertcollins.net
Wed Apr 1 04:53:27 BST 2009


At http://people.ubuntu.com/~robertc/baz2.0/pending/RemoteRepository.add_fallback_repo

------------------------------------------------------------
revno: 4227
revision-id: robertc at robertcollins.net-20090401035319-i5d3i8jnyp3jxryz
parent: pqm at pqm.ubuntu.com-20090401030426-i2p8321efq55f7jm
committer: Robert Collins <robertc at robertcollins.net>
branch nick: RemoteRepository.add_fallback_repo
timestamp: Wed 2009-04-01 14:53:19 +1100
message:
  RemoteRepository.add_fallback_repository no longer calls ensure_real. (Robert Collins, Andrew Bennetts)
=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py	2009-03-31 23:23:07 +0000
+++ b/bzrlib/remote.py	2009-04-01 03:53:19 +0000
@@ -844,6 +844,8 @@
                 self._real_repository.lock_read()
         else:
             self._lock_count += 1
+        for repo in self._fallback_repositories:
+            repo.lock_read()
 
     def _remote_lock_write(self, token):
         path = self.bzrdir._path_for_remote_call(self._client)
@@ -884,6 +886,9 @@
             raise errors.ReadOnlyError(self)
         else:
             self._lock_count += 1
+        for repo in self._fallback_repositories:
+            # Writes don't affect fallback repos
+            repo.lock_read()
         return self._lock_token or None
 
     def leave_lock_in_place(self):
@@ -1053,10 +1058,6 @@
         if self._real_repository is not None:
             if repository not in self._real_repository._fallback_repositories:
                 self._real_repository.add_fallback_repository(repository)
-        else:
-            # They are also seen by the fallback repository.  If it doesn't
-            # exist yet they'll be added then.  This implicitly copies them.
-            self._ensure_real()
 
     def add_inventory(self, revid, inv, parents):
         self._ensure_real()

=== modified file 'bzrlib/tests/blackbox/test_branch.py'
--- a/bzrlib/tests/blackbox/test_branch.py	2009-03-24 06:40:26 +0000
+++ b/bzrlib/tests/blackbox/test_branch.py	2009-04-01 03:53:19 +0000
@@ -307,7 +307,7 @@
         # being too low. If rpc_count increases, more network roundtrips have
         # become necessary for this use case. Please do not adjust this number
         # upwards without agreement from bzr's network support maintainers.
-        self.assertLength(23, self.hpss_calls)
+        self.assertLength(15, self.hpss_calls)
 
 
 class TestRemoteBranch(TestCaseWithSFTPServer):

=== modified file 'bzrlib/tests/blackbox/test_push.py'
--- a/bzrlib/tests/blackbox/test_push.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/blackbox/test_push.py	2009-04-01 03:53:19 +0000
@@ -217,7 +217,7 @@
         # being too low. If rpc_count increases, more network roundtrips have
         # become necessary for this use case. Please do not adjust this number
         # upwards without agreement from bzr's network support maintainers.
-        self.assertLength(56, self.hpss_calls)
+        self.assertLength(52, self.hpss_calls)
         remote = Branch.open('public')
         self.assertEndsWith(remote.get_stacked_on_url(), '/parent')
 




More information about the bazaar-commits mailing list