Rev 2737: remove static BzrDir.create_repository in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue Aug 21 05:19:14 BST 2007


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

------------------------------------------------------------
revno: 2737
revision-id: pqm at pqm.ubuntu.com-20070821041912-ph1kv921fvotcgdd
parent: pqm at pqm.ubuntu.com-20070821024621-czmqk59igiyvsgk8
parent: mbp at sourcefrog.net-20070821034050-gcppw53kbcm2gwgd
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2007-08-21 05:19:12 +0100
message:
  remove static BzrDir.create_repository
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
  bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
    ------------------------------------------------------------
    revno: 2711.2.7
    merged: mbp at sourcefrog.net-20070821034050-gcppw53kbcm2gwgd
    parent: mbp at sourcefrog.net-20070820075429-qf292u06r16ezx8x
    parent: pqm at pqm.ubuntu.com-20070821024621-czmqk59igiyvsgk8
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Tue 2007-08-21 13:40:50 +1000
    message:
      merge trunk
    ------------------------------------------------------------
    revno: 2711.2.6
    merged: mbp at sourcefrog.net-20070820075429-qf292u06r16ezx8x
    parent: mbp at sourcefrog.net-20070820054840-x2ugmd9dc4yodw9o
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Mon 2007-08-20 17:54:29 +1000
    message:
      Fix up conversion of create_repository to make_repository in test_fetch
    ------------------------------------------------------------
    revno: 2711.2.5
    merged: mbp at sourcefrog.net-20070820054840-x2ugmd9dc4yodw9o
    parent: mbp at sourcefrog.net-20070817073652-61zoowhun3w9rjl0
    parent: pqm at pqm.ubuntu.com-20070820045741-zojy0q9vgi0d860r
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Mon 2007-08-20 15:48:40 +1000
    message:
      merge trunk
    ------------------------------------------------------------
    revno: 2711.2.4
    merged: mbp at sourcefrog.net-20070817073652-61zoowhun3w9rjl0
    parent: mbp at sourcefrog.net-20070817072124-z0ew2dinzvltxkya
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Fri 2007-08-17 17:36:52 +1000
    message:
      Fix unbound variable error in BzrDirFormatRegistry.get_help (test order dependent)
    ------------------------------------------------------------
    revno: 2711.2.3
    merged: mbp at sourcefrog.net-20070817072124-z0ew2dinzvltxkya
    parent: mbp at sourcefrog.net-20070817071528-wqolg6a6xwns45c3
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Fri 2007-08-17 17:21:24 +1000
    message:
      Remove additional unnecessary use of BzrDir.create_repository
    ------------------------------------------------------------
    revno: 2711.2.2
    merged: mbp at sourcefrog.net-20070817071528-wqolg6a6xwns45c3
    parent: mbp at sourcefrog.net-20070816101615-8rr9rej7hjw3hpl6
    parent: pqm at pqm.ubuntu.com-20070816195834-vvgmajr1s1uk4m9w
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Fri 2007-08-17 17:15:28 +1000
    message:
      merge trunk
    ------------------------------------------------------------
    revno: 2711.2.1
    merged: mbp at sourcefrog.net-20070816101615-8rr9rej7hjw3hpl6
    parent: pqm at pqm.ubuntu.com-20070816031716-d03a5nwezxb96z0c
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: remove-bzrdir-statics
    timestamp: Thu 2007-08-16 20:16:15 +1000
    message:
      Deprecate BzrDir.create_repository
=== modified file 'NEWS'
--- a/NEWS	2007-08-21 02:06:43 +0000
+++ b/NEWS	2007-08-21 03:40:50 +0000
@@ -77,6 +77,12 @@
       (Ian Clatworthy, Sabin Iacob, Alexander Belchenko)
 
 
+  API CHANGES:
+
+    * The static convenience method ``BzrDir.create_repository``
+      is deprecated.  Callers should instead create a ``BzrDir`` instance
+      and call ``create_repository`` on that.  (Martin Pool)
+
 bzr 0.90rc1 2007-08-14
 ======================
 

=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2007-08-14 05:05:49 +0000
+++ b/bzrlib/bzrdir.py	2007-08-20 05:48:40 +0000
@@ -25,11 +25,12 @@
 
 from cStringIO import StringIO
 import os
-import textwrap
 
 from bzrlib.lazy_import import lazy_import
 lazy_import(globals(), """
 from stat import S_ISDIR
+import textwrap
+from warnings import warn
 
 import bzrlib
 from bzrlib import (
@@ -69,6 +70,11 @@
     note,
     )
 from bzrlib.transport.local import LocalTransport
+from bzrlib.symbol_versioning import (
+    deprecated_function,
+    deprecated_method,
+    zero_ninetyone,
+    )
 
 
 class BzrDir(object):
@@ -309,6 +315,7 @@
         return result
 
     @staticmethod
+    @deprecated_function(zero_ninetyone)
     def create_repository(base, shared=False, format=None):
         """Create a new BzrDir and Repository at the url 'base'.
 
@@ -323,6 +330,9 @@
         This must be overridden as an instance method in child classes, where
         it should take no parameters and construct whatever repository format
         that child class desires.
+
+        This method is deprecated, please call create_repository on a bzrdir
+        instance instead.
         """
         bzrdir = BzrDir.create(base, format)
         return bzrdir.create_repository(shared)
@@ -2353,6 +2363,7 @@
             repositories.
 
             """)
+        default_realkey = None
         default_help = self.get_help('default')
         help_pairs = []
         for key in self.keys():
@@ -2370,8 +2381,9 @@
             return ':%s:\n%s\n\n' % (key, 
                     textwrap.fill(help, initial_indent='    ', 
                     subsequent_indent='    '))
-        output += wrapped(default_realkey, '(default) %s' % default_help,
-                          self.get_info('default'))
+        if default_realkey is not None:
+            output += wrapped(default_realkey, '(default) %s' % default_help,
+                              self.get_info('default'))
         deprecated_pairs = []
         for key, help in help_pairs:
             info = self.get_info(key)

=== modified file 'bzrlib/tests/repository_implementations/test_fetch.py'
--- a/bzrlib/tests/repository_implementations/test_fetch.py	2007-08-17 06:35:08 +0000
+++ b/bzrlib/tests/repository_implementations/test_fetch.py	2007-08-20 07:54:29 +0000
@@ -37,7 +37,7 @@
         tree_a.add('foo', 'file1')
         tree_a.commit('rev1', rev_id='rev1')
         # fetch with a default limit (grab everything)
-        repo = bzrdir.BzrDir.create_repository(self.get_url('b'))
+        repo = self.make_repository('b')
         if (tree_a.branch.repository.supports_rich_root() and not
             repo.supports_rich_root()):
             raise TestSkipped('Cannot fetch from model2 to model1')

=== modified file 'bzrlib/tests/test_bzrdir.py'
--- a/bzrlib/tests/test_bzrdir.py	2007-08-17 05:16:14 +0000
+++ b/bzrlib/tests/test_bzrdir.py	2007-08-20 05:48:40 +0000
@@ -36,6 +36,9 @@
                            UnknownFormatError,
                            UnsupportedFormatError,
                            )
+from bzrlib.symbol_versioning import (
+    zero_ninetyone,
+    )
 from bzrlib.tests import (
     TestCase,
     TestCaseWithTransport,
@@ -261,28 +264,40 @@
         # now open_downlevel should fail too.
         self.assertRaises(UnknownFormatError, bzrdir.BzrDir.open_unsupported, url)
 
-    def test_create_repository(self):
+    def test_create_repository_deprecated(self):
+        # new interface is to make the bzrdir, then a repository within that.
         format = SampleBzrDirFormat()
-        repo = bzrdir.BzrDir.create_repository(self.get_url(), format=format)
+        repo = self.applyDeprecated(zero_ninetyone,
+                bzrdir.BzrDir.create_repository,
+                self.get_url(), format=format)
         self.assertEqual('A repository', repo)
 
     def test_create_repository_shared(self):
+        # new interface is to make the bzrdir, then a repository within that.
         old_format = bzrdir.BzrDirFormat.get_default_format()
-        repo = bzrdir.BzrDir.create_repository('.', shared=True)
+        repo = self.applyDeprecated(zero_ninetyone,
+                bzrdir.BzrDir.create_repository,
+                '.', shared=True)
         self.assertTrue(repo.is_shared())
 
     def test_create_repository_nonshared(self):
+        # new interface is to make the bzrdir, then a repository within that.
         old_format = bzrdir.BzrDirFormat.get_default_format()
-        repo = bzrdir.BzrDir.create_repository('.')
+        repo = self.applyDeprecated(zero_ninetyone,
+                bzrdir.BzrDir.create_repository,
+                '.')
         self.assertFalse(repo.is_shared())
 
     def test_create_repository_under_shared(self):
         # an explicit create_repository always does so.
         # we trust the format is right from the 'create_repository test'
+        # new interface is to make the bzrdir, then a repository within that.
         format = bzrdir.format_registry.make_bzrdir('knit')
         self.make_repository('.', shared=True, format=format)
-        repo = bzrdir.BzrDir.create_repository(self.get_url('child'),
-                                               format=format)
+        repo = self.applyDeprecated(zero_ninetyone,
+                bzrdir.BzrDir.create_repository,
+                self.get_url('child'),
+                format=format)
         self.assertTrue(isinstance(repo, repository.Repository))
         self.assertTrue(repo.bzrdir.root_transport.base.endswith('child/'))
 




More information about the bazaar-commits mailing list