Rev 6111: (jameinel) Bug #483661, in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue Aug 30 11:53:35 UTC 2011


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

------------------------------------------------------------
revno: 6111 [merge]
revision-id: pqm at pqm.ubuntu.com-20110830115333-xfvpbyvf2q46duon
parent: pqm at pqm.ubuntu.com-20110829141242-gqvd3pz0tdcgnhfy
parent: john at arbash-meinel.com-20110830084610-uk6ornh72uz286ya
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2011-08-30 11:53:33 +0000
message:
  (jameinel) Bug #483661,
  	do not reuse transports for the two branches involved in a pull in
  	order to avoid concurrent requests over a smart medium like
  	ssh. (Martin von Gagern)
modified:
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/tests/blackbox/test_pull.py test_pull.py-20051201144907-64959364f629947f
  bzrlib/tests/commands/test_pull.py test_pull.py-20070525144918-cgmunk4ici2krjnd-1
  doc/en/release-notes/bzr-2.5.txt bzr2.5.txt-20110708125756-587p0hpw7oke4h05-1
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2011-08-25 03:20:44 +0000
+++ b/bzrlib/builtins.py	2011-08-28 10:24:01 +0000
@@ -977,7 +977,7 @@
     branches have diverged.
 
     If there is no default location set, the first pull will set it (use
-    --no-remember to avoid settting it). After that, you can omit the
+    --no-remember to avoid setting it). After that, you can omit the
     location to use the default.  To change the default, use --remember. The
     value will only be saved if the remote location can be accessed.
 
@@ -1076,8 +1076,7 @@
                 view_info=view_info)
             result = tree_to.pull(
                 branch_from, overwrite, revision_id, change_reporter,
-                possible_transports=possible_transports, local=local,
-                show_base=show_base)
+                local=local, show_base=show_base)
         else:
             result = branch_to.pull(
                 branch_from, overwrite, revision_id, local=local)
@@ -1114,7 +1113,7 @@
     After that you will be able to do a push without '--overwrite'.
 
     If there is no default push location set, the first push will set it (use
-    --no-remember to avoid settting it).  After that, you can omit the
+    --no-remember to avoid setting it).  After that, you can omit the
     location to use the default.  To change the default, use --remember. The
     value will only be saved if the remote location can be accessed.
     """
@@ -3950,7 +3949,7 @@
     Use bzr resolve when you have fixed a problem.  See also bzr conflicts.
 
     If there is no default branch set, the first merge will set it (use
-    --no-remember to avoid settting it). After that, you can omit the branch
+    --no-remember to avoid setting it). After that, you can omit the branch
     to use the default.  To change the default, use --remember. The value will
     only be saved if the remote location can be accessed.
 
@@ -5397,7 +5396,7 @@
 
     Both the submit branch and the public branch follow the usual behavior with
     respect to --remember: If there is no default location set, the first send
-    will set it (use --no-remember to avoid settting it). After that, you can
+    will set it (use --no-remember to avoid setting it). After that, you can
     omit the location to use the default.  To change the default, use
     --remember. The value will only be saved if the location can be accessed.
 

=== modified file 'bzrlib/tests/blackbox/test_pull.py'
--- a/bzrlib/tests/blackbox/test_pull.py	2011-08-10 14:02:04 +0000
+++ b/bzrlib/tests/blackbox/test_pull.py	2011-08-30 08:46:10 +0000
@@ -384,6 +384,15 @@
         self.assertNotContainsRe(
             out, r'revno: 1\ncommitter: .*\nbranch nick: source')
 
+    def test_pull_smart_bound_branch(self):
+        self.setup_smart_server_with_call_log()
+        parent = self.make_branch_and_tree('parent')
+        parent.commit(message='first commit')
+        child = parent.bzrdir.sprout('child').open_workingtree()
+        child.commit(message='second commit')
+        checkout = parent.branch.create_checkout('checkout')
+        self.run_bzr(['pull', self.get_url('child')], working_dir='checkout')
+
     def test_pull_smart_stacked_streaming_acceptance(self):
         """'bzr pull -r 123' works on stacked, smart branches, even when the
         revision specified by the revno is only present in the fallback

=== modified file 'bzrlib/tests/commands/test_pull.py'
--- a/bzrlib/tests/commands/test_pull.py	2010-04-09 03:58:14 +0000
+++ b/bzrlib/tests/commands/test_pull.py	2011-08-30 08:46:10 +0000
@@ -54,5 +54,5 @@
         # We don't care about the ouput but 'outf' should be defined
         pull.outf = tests.StringIOWrapper()
         pull.run(self.get_url('remote'), directory='local')
-        self.assertEquals(1, len(self.connections))
+        self.assertEquals(2, len(self.connections))
 

=== modified file 'doc/en/release-notes/bzr-2.5.txt'
--- a/doc/en/release-notes/bzr-2.5.txt	2011-08-26 11:35:50 +0000
+++ b/doc/en/release-notes/bzr-2.5.txt	2011-08-27 19:08:54 +0000
@@ -117,6 +117,11 @@
 .. Fixes for situations where bzr would previously crash or give incorrect
    or undesirable results.
 
+* The pull command will now always use separate connections for the
+  case where the destination is a heavyweight checkout of some remote
+  branch on the same host as the source branch.
+  (Martin von Gagern, #483661)
+
 * A call to CHKInventory's filter-method will not result in a
   DuplicateFileId error, if you move a subfolder and change a file in
   that subfolder.




More information about the bazaar-commits mailing list