Rev 6417: (jelmer) Simplify handling of server probing. (Jelmer Vernooij) in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

Patch Queue Manager pqm at pqm.ubuntu.com
Tue Jan 3 13:47:03 UTC 2012


At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 6417 [merge]
revision-id: pqm at pqm.ubuntu.com-20120103134701-89oywjghb5zo0k2k
parent: pqm at pqm.ubuntu.com-20120103132109-12fugun039vg5r6v
parent: jelmer at samba.org-20111222040406-e7a0saud1fnxugg7
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2012-01-03 13:47:01 +0000
message:
  (jelmer) Simplify handling of server probing. (Jelmer Vernooij)
modified:
  bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
  bzrlib/controldir.py           controldir.py-20100802102926-hvtvh0uae5epuibp-1
  bzrlib/plugins/weave_fmt/bzrdir.py bzrdir_weave.py-20110310114200-ndz63gzqll03nf4z-1
  bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
  bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
=== modified file 'bzrlib/branch.py'
--- a/bzrlib/branch.py	2012-01-02 10:24:02 +0000
+++ b/bzrlib/branch.py	2012-01-03 13:47:01 +0000
@@ -181,8 +181,8 @@
         For instance, if the branch is at URL/.bzr/branch,
         Branch.open(URL) -> a Branch instance.
         """
-        control = controldir.ControlDir.open(base, _unsupported,
-                                     possible_transports=possible_transports)
+        control = controldir.ControlDir.open(base,
+            possible_transports=possible_transports, _unsupported=_unsupported)
         return control.open_branch(unsupported=_unsupported,
             possible_transports=possible_transports)
 
@@ -3024,7 +3024,7 @@
                                                 config=conf)
         if stacked_url is None:
             raise errors.NotStacked(self)
-        return stacked_url
+        return stacked_url.encode('utf-8')
 
     @needs_read_lock
     def get_rev_id(self, revno, history=None):

=== modified file 'bzrlib/controldir.py'
--- a/bzrlib/controldir.py	2011-12-19 19:15:58 +0000
+++ b/bzrlib/controldir.py	2012-01-03 13:47:01 +0000
@@ -262,7 +262,7 @@
         """
         raise NotImplementedError(self.find_repository)
 
-    def open_workingtree(self, _unsupported=False,
+    def open_workingtree(self, unsupported=False,
                          recommend_upgrade=True, from_branch=None):
         """Open the workingtree object at this ControlDir if one is present.
 
@@ -664,17 +664,19 @@
         return klass.open(base, _unsupported=True)
 
     @classmethod
-    def open(klass, base, _unsupported=False, possible_transports=None):
+    def open(klass, base, possible_transports=None, probers=None,
+             _unsupported=False):
         """Open an existing controldir, rooted at 'base' (url).
 
         :param _unsupported: a private parameter to the ControlDir class.
         """
         t = _mod_transport.get_transport(base, possible_transports)
-        return klass.open_from_transport(t, _unsupported=_unsupported)
+        return klass.open_from_transport(t, probers=probers,
+                _unsupported=_unsupported)
 
     @classmethod
     def open_from_transport(klass, transport, _unsupported=False,
-                            _server_formats=True):
+                            probers=None):
         """Open a controldir within a particular directory.
 
         :param transport: Transport containing the controldir.
@@ -686,8 +688,8 @@
         # the redirections.
         base = transport.base
         def find_format(transport):
-            return transport, ControlDirFormat.find_format(
-                transport, _server_formats=_server_formats)
+            return transport, ControlDirFormat.find_format(transport,
+                probers=probers)
 
         def redirected(transport, e, redirection_notice):
             redirected_transport = transport._redirected_to(e.source, e.target)
@@ -1110,22 +1112,24 @@
         return self.get_format_description().rstrip()
 
     @classmethod
+    def all_probers(klass):
+        return klass._server_probers + klass._probers
+
+    @classmethod
     def known_formats(klass):
         """Return all the known formats.
         """
         result = set()
-        for prober_kls in klass._probers + klass._server_probers:
+        for prober_kls in klass.all_probers():
             result.update(prober_kls.known_formats())
         return result
 
     @classmethod
-    def find_format(klass, transport, _server_formats=True):
+    def find_format(klass, transport, probers=None):
         """Return the format present at transport."""
-        if _server_formats:
-            _probers = klass._server_probers + klass._probers
-        else:
-            _probers = klass._probers
-        for prober_kls in _probers:
+        if probers is None:
+            probers = klass.all_probers()
+        for prober_kls in probers:
             prober = prober_kls()
             try:
                 return prober.probe_transport(transport)

=== modified file 'bzrlib/plugins/weave_fmt/bzrdir.py'
--- a/bzrlib/plugins/weave_fmt/bzrdir.py	2011-12-19 19:15:58 +0000
+++ b/bzrlib/plugins/weave_fmt/bzrdir.py	2012-01-03 13:47:01 +0000
@@ -966,7 +966,7 @@
         from bzrlib.plugins.weave_fmt.repository import RepositoryFormat5
         return RepositoryFormat5().open(self, _found=True)
 
-    def open_workingtree(self, _unsupported=False,
+    def open_workingtree(self, unsupported=False,
             recommend_upgrade=True):
         """See BzrDir.create_workingtree."""
         from bzrlib.plugins.weave_fmt.workingtree import WorkingTreeFormat2
@@ -991,8 +991,7 @@
         from bzrlib.plugins.weave_fmt.repository import RepositoryFormat6
         return RepositoryFormat6().open(self, _found=True)
 
-    def open_workingtree(self, _unsupported=False,
-        recommend_upgrade=True):
+    def open_workingtree(self, unsupported=False, recommend_upgrade=True):
         """See BzrDir.create_workingtree."""
         # we don't warn here about upgrades; that ought to be handled for the
         # bzrdir as a whole

=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py	2011-12-22 16:18:31 +0000
+++ b/bzrlib/remote.py	2012-01-03 13:47:01 +0000
@@ -480,7 +480,7 @@
                 warning('VFS BzrDir access triggered\n%s',
                     ''.join(traceback.format_stack()))
             self._real_bzrdir = _mod_bzrdir.BzrDir.open_from_transport(
-                self.root_transport, _server_formats=False)
+                self.root_transport, probers=[_mod_bzrdir.BzrProber])
             self._format._network_name = \
                 self._real_bzrdir._format.network_name()
 

=== modified file 'bzrlib/workingtree.py'
--- a/bzrlib/workingtree.py	2011-12-22 19:54:56 +0000
+++ b/bzrlib/workingtree.py	2012-01-03 13:47:01 +0000
@@ -268,8 +268,8 @@
         """
         if path is None:
             path = osutils.getcwd()
-        control = controldir.ControlDir.open(path, _unsupported)
-        return control.open_workingtree(_unsupported)
+        control = controldir.ControlDir.open(path, _unsupported=_unsupported)
+        return control.open_workingtree(unsupported=_unsupported)
 
     @staticmethod
     def open_containing(path=None):




More information about the bazaar-commits mailing list