Comment 2 for bug 388675

Revision history for this message
Andrew Bennetts (spiv) wrote :

The fix seems straightforward:

=== modified file 'bzrlib/bzrdir.py'
--- bzrlib/bzrdir.py 2009-06-12 03:44:12 +0000
+++ bzrlib/bzrdir.py 2009-06-18 03:15:02 +0000
@@ -3268,6 +3268,8 @@
         else:
             remote_repo = None
             policy = None
+ if require_stacking:
+ bzrdir._format.require_stacking()
         return remote_repo, bzrdir, require_stacking, policy

     def _open(self, transport):

i.e. the issue is that require_stacking() was only being triggered on the server, so the client wasn't choosing the right branch format.

(And so it turns out that the
"""Source repository format does not support stacking, using format:
  Packs 5 (adds stacking support, requires bzr 1.6)
Source branch format does not support stacking, using format:
  Branch format 7"""
lines in the output in the bug report are actually relayed from the *server's* stdio via SSH. Calling require_stacking() again on the client produces those lines again, but locally.)

I'm working on a proper patch with tests etc.