Rev 3689: (Jelmer) Deprecate Repository.revision_tree(None). in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Thu Sep 4 15:22:44 BST 2008


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

------------------------------------------------------------
revno: 3689
revision-id: pqm at pqm.ubuntu.com-20080904142234-pldim6ie032cb6am
parent: pqm at pqm.ubuntu.com-20080903223056-b108iytb38xkznci
parent: jelmer at samba.org-20080902195956-hg63sah1s0k7aeov
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2008-09-04 15:22:34 +0100
message:
  (Jelmer) Deprecate Repository.revision_tree(None).
modified:
  bzrlib/bundle/bundle_data.py   read_changeset.py-20050619171944-c0d95aa685537640
  bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
  bzrlib/missing.py              missing.py-20050812153334-097f7097e2a8bcd1
  bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
  bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
  bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
  bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
  bzrlib/tests/test_dirstate.py  test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
  bzrlib/tests/test_revisiontree.py test_revisiontree.py-20060615095324-aij44ndxbv1h4c9f-1
  bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
  bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
    ------------------------------------------------------------
    revno: 3680.1.1
    revision-id: jelmer at samba.org-20080902195956-hg63sah1s0k7aeov
    parent: pqm at pqm.ubuntu.com-20080902194610-1zzkeem0cm38snju
    parent: jelmer at samba.org-20080902002928-qp0m5mq97t5zm414
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Tue 2008-09-02 21:59:56 +0200
    message:
      Merge Repository.revision_tree(None) deprecation work.
    modified:
      bzrlib/bundle/bundle_data.py   read_changeset.py-20050619171944-c0d95aa685537640
      bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
      bzrlib/missing.py              missing.py-20050812153334-097f7097e2a8bcd1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
      bzrlib/tests/test_dirstate.py  test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
      bzrlib/tests/test_revisiontree.py test_revisiontree.py-20060615095324-aij44ndxbv1h4c9f-1
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
    ------------------------------------------------------------
    revno: 3668.5.4
    revision-id: jelmer at samba.org-20080902002928-qp0m5mq97t5zm414
    parent: jelmer at samba.org-20080901155224-1o65walig7kp0vp0
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Tue 2008-09-02 02:29:28 +0200
    message:
      Eliminate more uses of Repository.revision_tree(None).
    modified:
      bzrlib/bundle/bundle_data.py   read_changeset.py-20050619171944-c0d95aa685537640
      bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
      bzrlib/tests/test_revisiontree.py test_revisiontree.py-20060615095324-aij44ndxbv1h4c9f-1
    ------------------------------------------------------------
    revno: 3668.5.3
    revision-id: jelmer at samba.org-20080901155224-1o65walig7kp0vp0
    parent: jelmer at samba.org-20080901144130-77iwh6hjhupopdqk
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Mon 2008-09-01 17:52:24 +0200
    message:
      Add test to make sure revision_tree(None) prints a deprecation warning.
    modified:
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
    ------------------------------------------------------------
    revno: 3668.5.2
    revision-id: jelmer at samba.org-20080901144130-77iwh6hjhupopdqk
    parent: jelmer at samba.org-20080901140334-iph5u142g49dv3zu
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Mon 2008-09-01 16:41:30 +0200
    message:
      Fix docstring.
    modified:
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
    ------------------------------------------------------------
    revno: 3668.5.1
    revision-id: jelmer at samba.org-20080901140334-iph5u142g49dv3zu
    parent: pqm at pqm.ubuntu.com-20080830091000-3oibqwlrxvdpgo5l
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Mon 2008-09-01 16:03:34 +0200
    message:
      Use NULL_REVISION rather than None for Repository.revision_tree().
    modified:
      bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
      bzrlib/missing.py              missing.py-20050812153334-097f7097e2a8bcd1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
      bzrlib/tests/test_dirstate.py  test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
      bzrlib/tests/test_revisiontree.py test_revisiontree.py-20060615095324-aij44ndxbv1h4c9f-1
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
=== modified file 'bzrlib/bundle/bundle_data.py'
--- a/bzrlib/bundle/bundle_data.py	2008-05-08 04:33:38 +0000
+++ b/bzrlib/bundle/bundle_data.py	2008-09-02 00:29:28 +0000
@@ -159,16 +159,13 @@
     def get_base(self, revision):
         revision_info = self.get_revision_info(revision.revision_id)
         if revision_info.base_id is not None:
-            if revision_info.base_id == NULL_REVISION:
-                return None
-            else:
-                return revision_info.base_id
+            return revision_info.base_id
         if len(revision.parent_ids) == 0:
             # There is no base listed, and
             # the lowest revision doesn't have a parent
             # so this is probably against the empty tree
-            # and thus base truly is None
-            return None
+            # and thus base truly is NULL_REVISION
+            return NULL_REVISION
         else:
             return revision.parent_ids[-1]
 

=== modified file 'bzrlib/memorytree.py'
--- a/bzrlib/memorytree.py	2008-07-22 18:12:25 +0000
+++ b/bzrlib/memorytree.py	2008-09-02 00:29:28 +0000
@@ -68,8 +68,6 @@
     def create_on_branch(branch):
         """Create a MemoryTree for branch, using the last-revision of branch."""
         revision_id = _mod_revision.ensure_null(branch.last_revision())
-        if _mod_revision.is_null(revision_id):
-            revision_id = None
         return MemoryTree(branch, revision_id)
 
     def _gather_kinds(self, files, kinds):
@@ -206,7 +204,7 @@
         """Populate the in-tree state from the branch."""
         self._basis_tree = self.branch.repository.revision_tree(
             self._branch_revision_id)
-        if self._branch_revision_id is None:
+        if self._branch_revision_id == _mod_revision.NULL_REVISION:
             self._parent_ids = []
         else:
             self._parent_ids = [self._branch_revision_id]
@@ -272,7 +270,8 @@
             _mod_revision.check_not_reserved_id(revision_id)
         if len(revision_ids) == 0:
             self._parent_ids = []
-            self._basis_tree = self.branch.repository.revision_tree(None)
+            self._basis_tree = self.branch.repository.revision_tree(
+                                    _mod_revision.NULL_REVISION)
         else:
             self._parent_ids = revision_ids
             self._basis_tree = self.branch.repository.revision_tree(
@@ -283,14 +282,16 @@
         """See MutableTree.set_parent_trees()."""
         if len(parents_list) == 0:
             self._parent_ids = []
-            self._basis_tree = self.branch.repository.revision_tree(None)
+            self._basis_tree = self.branch.repository.revision_tree(
+                                   _mod_revision.NULL_REVISION)
         else:
             if parents_list[0][1] is None and not allow_leftmost_as_ghost:
                 # a ghost in the left most parent
                 raise errors.GhostRevisionUnusableHere(parents_list[0][0])
             self._parent_ids = [parent_id for parent_id, tree in parents_list]
             if parents_list[0][1] is None or parents_list[0][1] == 'null:':
-                self._basis_tree = self.branch.repository.revision_tree(None)
+                self._basis_tree = self.branch.repository.revision_tree(
+                                       _mod_revision.NULL_REVISION)
             else:
                 self._basis_tree = parents_list[0][1]
             self._branch_revision_id = parents_list[0][0]

=== modified file 'bzrlib/missing.py'
--- a/bzrlib/missing.py	2008-05-20 02:34:01 +0000
+++ b/bzrlib/missing.py	2008-09-01 14:03:34 +0000
@@ -19,10 +19,11 @@
 from bzrlib.log import (
     LogRevision,
     )
+import bzrlib.revision as _mod_revision
 
 
 def iter_log_revisions(revisions, revision_source, verbose):
-    last_tree = revision_source.revision_tree(None)
+    last_tree = revision_source.revision_tree(_mod_revision.NULL_REVISION)
     last_rev_id = None
     for revno, rev_id in revisions:
         rev = revision_source.get_revision(rev_id)

=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py	2008-09-03 19:54:34 +0000
+++ b/bzrlib/repository.py	2008-09-04 14:22:34 +0000
@@ -1166,7 +1166,7 @@
                      t in self.revision_trees(required_trees))
         for revision in revisions:
             if not revision.parent_ids:
-                old_tree = self.revision_tree(None)
+                old_tree = self.revision_tree(_mod_revision.NULL_REVISION)
             else:
                 old_tree = trees[revision.parent_ids[0]]
             yield trees[revision.revision_id].changes_from(old_tree)
@@ -1658,11 +1658,12 @@
     def revision_tree(self, revision_id):
         """Return Tree for a revision on this branch.
 
-        `revision_id` may be None for the empty tree revision.
+        `revision_id` may be NULL_REVISION for the empty tree revision.
         """
+        revision_id = _mod_revision.ensure_null(revision_id)
         # TODO: refactor this to use an existing revision object
         # so we don't need to read it in twice.
-        if revision_id is None or revision_id == _mod_revision.NULL_REVISION:
+        if revision_id == _mod_revision.NULL_REVISION:
             return RevisionTree(self, Inventory(root_id=None), 
                                 _mod_revision.NULL_REVISION)
         else:
@@ -1959,7 +1960,8 @@
             present_parents.append(p_id)
             parent_trees[p_id] = repository.revision_tree(p_id)
         else:
-            parent_trees[p_id] = repository.revision_tree(None)
+            parent_trees[p_id] = repository.revision_tree(
+                                     _mod_revision.NULL_REVISION)
 
     inv = revision_tree.inventory
     entries = inv.iter_entries()

=== modified file 'bzrlib/tests/repository_implementations/test_commit_builder.py'
--- a/bzrlib/tests/repository_implementations/test_commit_builder.py	2008-06-11 04:20:16 +0000
+++ b/bzrlib/tests/repository_implementations/test_commit_builder.py	2008-09-01 14:03:34 +0000
@@ -26,6 +26,7 @@
     inventory,
     osutils,
     repository,
+    revision as _mod_revision,
     tests,
     )
 from bzrlib.graph import Graph
@@ -51,7 +52,8 @@
                 ie = tree.inventory.root
             finally:
                 tree.unlock()
-            parent_tree = tree.branch.repository.revision_tree(None)
+            parent_tree = tree.branch.repository.revision_tree(
+                              _mod_revision.NULL_REVISION)
             parent_invs = []
             builder.record_entry_contents(ie, parent_invs, '', tree,
                 tree.path_content_summary(''))

=== modified file 'bzrlib/tests/repository_implementations/test_repository.py'
--- a/bzrlib/tests/repository_implementations/test_repository.py	2008-08-18 23:11:59 +0000
+++ b/bzrlib/tests/repository_implementations/test_repository.py	2008-09-01 15:52:24 +0000
@@ -335,7 +335,9 @@
         expected.revision = 'revision-1'
         self.assertEqual([('', 'V', 'directory', 'fixed-root', expected)],
                          list(tree.list_files(include_root=True)))
-        tree = wt.branch.repository.revision_tree(None)
+        tree = self.callDeprecated(['NULL_REVISION should be used for the null'
+            ' revision instead of None, as of bzr 0.91.'],
+            wt.branch.repository.revision_tree, None)
         self.assertEqual([], list(tree.list_files(include_root=True)))
         tree = wt.branch.repository.revision_tree(NULL_REVISION)
         self.assertEqual([], list(tree.list_files(include_root=True)))

=== modified file 'bzrlib/tests/test_diff.py'
--- a/bzrlib/tests/test_diff.py	2008-08-23 13:06:24 +0000
+++ b/bzrlib/tests/test_diff.py	2008-09-01 14:03:34 +0000
@@ -35,6 +35,7 @@
     )
 from bzrlib.errors import BinaryFile, NoDiff, ExecutableMissing
 import bzrlib.osutils as osutils
+import bzrlib.revision as _mod_revision
 import bzrlib.transform as transform
 import bzrlib.patiencediff
 import bzrlib._patiencediff_py
@@ -356,7 +357,7 @@
 ''')
         
     def test_diff_add_files(self):
-        tree1 = self.b.repository.revision_tree(None)
+        tree1 = self.b.repository.revision_tree(_mod_revision.NULL_REVISION)
         tree2 = self.b.repository.revision_tree('rev-1')
         output = self.get_diff(tree1, tree2)
         # the files have the epoch time stamp for the tree in which

=== modified file 'bzrlib/tests/test_dirstate.py'
--- a/bzrlib/tests/test_dirstate.py	2008-06-05 21:47:39 +0000
+++ b/bzrlib/tests/test_dirstate.py	2008-09-01 14:03:34 +0000
@@ -25,6 +25,7 @@
     errors,
     inventory,
     osutils,
+    revision as _mod_revision,
     )
 from bzrlib.memorytree import MemoryTree
 from bzrlib.tests import (
@@ -966,7 +967,8 @@
             state.set_parent_trees(
                 ((revid1, tree1.branch.repository.revision_tree(revid1)),
                  (revid2, tree2.branch.repository.revision_tree(revid2)),
-                 ('ghost-rev', tree2.branch.repository.revision_tree(None))),
+                 ('ghost-rev', tree2.branch.repository.revision_tree(
+                                   _mod_revision.NULL_REVISION))),
                 ['ghost-rev'])
             self.assertEqual([revid1, revid2, 'ghost-rev'],
                              state.get_parent_ids())
@@ -1603,7 +1605,7 @@
 
         # *really* cheesy way to just get an empty tree
         repo = self.make_repository('repo')
-        empty_tree = repo.revision_tree(None)
+        empty_tree = repo.revision_tree(_mod_revision.NULL_REVISION)
         state.set_parent_trees([('null:', empty_tree)], [])
 
         dirblock_names = [d[0] for d in state._dirblocks]

=== modified file 'bzrlib/tests/test_revisiontree.py'
--- a/bzrlib/tests/test_revisiontree.py	2008-05-02 07:31:24 +0000
+++ b/bzrlib/tests/test_revisiontree.py	2008-09-02 00:29:28 +0000
@@ -50,9 +50,10 @@
             self.t.branch.repository.revision_tree(revid_2).get_parent_ids())
         # TODO commit a merge and check it is reported correctly.
 
-        # the parents for a revision_tree(None) are []:
+        # the parents for a revision_tree(NULL_REVISION) are []:
         self.assertEqual([],
-            self.t.branch.repository.revision_tree(None).get_parent_ids())
+            self.t.branch.repository.revision_tree(
+                revision.NULL_REVISION).get_parent_ids())
 
     def test_empty_no_root(self):
         null_tree = self.t.branch.repository.revision_tree(

=== modified file 'bzrlib/workingtree.py'
--- a/bzrlib/workingtree.py	2008-09-02 15:28:44 +0000
+++ b/bzrlib/workingtree.py	2008-09-02 19:59:56 +0000
@@ -379,7 +379,8 @@
         """Return RevisionTree for the current last revision.
         
         If the left most parent is a ghost then the returned tree will be an
-        empty tree - one obtained by calling repository.revision_tree(None).
+        empty tree - one obtained by calling 
+        repository.revision_tree(NULL_REVISION).
         """
         try:
             revision_id = self.get_parent_ids()[0]
@@ -387,7 +388,8 @@
             # no parents, return an empty revision tree.
             # in the future this should return the tree for
             # 'empty:' - the implicit root empty tree.
-            return self.branch.repository.revision_tree(None)
+            return self.branch.repository.revision_tree(
+                       _mod_revision.NULL_REVISION)
         try:
             return self.revision_tree(revision_id)
         except errors.NoSuchRevision:
@@ -404,7 +406,8 @@
             if self.branch.repository.has_revision(revision_id):
                 raise
             # the basis tree is a ghost so return an empty tree.
-            return self.branch.repository.revision_tree(None)
+            return self.branch.repository.revision_tree(
+                       _mod_revision.NULL_REVISION)
 
     def _cleanup(self):
         self._flush_ignore_list_cache()

=== modified file 'bzrlib/workingtree_4.py'
--- a/bzrlib/workingtree_4.py	2008-08-13 03:21:19 +0000
+++ b/bzrlib/workingtree_4.py	2008-09-01 14:03:34 +0000
@@ -1110,7 +1110,8 @@
                 real_trees.append((rev_id, tree))
             else:
                 real_trees.append((rev_id,
-                    self.branch.repository.revision_tree(None)))
+                    self.branch.repository.revision_tree(
+                        _mod_revision.NULL_REVISION)))
                 ghosts.append(rev_id)
             accepted_revisions.add(rev_id)
         dirstate.set_parent_trees(real_trees, ghosts=ghosts)




More information about the bazaar-commits mailing list