Rev 2312: (James Westby) Allow 'bzr cat' to be used against treeless repositories. in http://bzr.arbash-meinel.com/branches/bzr/jam-integration

John Arbash Meinel john at arbash-meinel.com
Fri Mar 2 22:36:18 GMT 2007


At http://bzr.arbash-meinel.com/branches/bzr/jam-integration

------------------------------------------------------------
revno: 2312
revision-id: john at arbash-meinel.com-20070302223607-ht1xxgyvfwom3m2t
parent: pqm at pqm.ubuntu.com-20070302210006-317f7fb7479da4c5
parent: jw+debian at jameswestby.net-20070302181505-h0c9wyrvzp3wslpp
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: jam-integration
timestamp: Fri 2007-03-02 16:36:07 -0600
message:
  (James Westby) Allow 'bzr cat' to be used against treeless repositories.
modified:
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/tests/blackbox/test_cat.py test_cat.py-20051201162916-f0937e4e19ea24b3
    ------------------------------------------------------------
    revno: 2309.1.2
    merged: jw+debian at jameswestby.net-20070302181505-h0c9wyrvzp3wslpp
    parent: jw+debian at jameswestby.net-20070302172650-4cjj7xzvpe93c72v
    committer: James Westby <jw+debian at jameswestby.net>
    branch nick: bzr.dev
    timestamp: Fri 2007-03-02 18:15:05 +0000
    message:
      Use BzrDir.open_containing_tree_or_branch as suggested by Aaron.
    ------------------------------------------------------------
    revno: 2309.1.1
    merged: jw+debian at jameswestby.net-20070302172650-4cjj7xzvpe93c72v
    parent: pqm at pqm.ubuntu.com-20070301073000-0bfe1394fee5e712
    committer: James Westby <jw+debian at jameswestby.net>
    branch nick: bzr.dev
    timestamp: Fri 2007-03-02 17:26:50 +0000
    message:
      Allow bzr cat to be used against treeless repositories.
      
        * Currently if bzr cat is used against a treeless repo it fails as the
          working tree can't be opened. As cat can work without a working tree
          just ignore this error, and use the existing fallback path that opens
          the branch instead.
-------------- next part --------------
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2007-03-01 04:26:55 +0000
+++ b/bzrlib/builtins.py	2007-03-02 18:15:05 +0000
@@ -1928,15 +1928,14 @@
 
         tree = None
         try:
-            tree, relpath = WorkingTree.open_containing(filename)
-            b = tree.branch
-        except (errors.NotBranchError, errors.NotLocalUrl):
+            tree, b, relpath = \
+                    bzrdir.BzrDir.open_containing_tree_or_branch(filename)
+        except errors.NotBranchError:
             pass
 
         if revision is not None and revision[0].get_branch() is not None:
             b = Branch.open(revision[0].get_branch())
         if tree is None:
-            b, relpath = Branch.open_containing(filename)
             tree = b.basis_tree()
         if revision is None:
             revision_id = b.last_revision()

=== modified file 'bzrlib/tests/blackbox/test_cat.py'
--- a/bzrlib/tests/blackbox/test_cat.py	2006-12-13 08:15:54 +0000
+++ b/bzrlib/tests/blackbox/test_cat.py	2007-03-02 17:26:50 +0000
@@ -105,3 +105,15 @@
         url = self.get_readonly_url() + '/README'
         out, err = self.run_bzr('cat', url)
         self.assertEqual('contents of README\n', out)
+
+    def test_cat_no_working_tree(self):
+        wt = self.make_branch_and_tree('.')
+        self.build_tree(['README'])
+        wt.add('README')
+        wt.commit('Making sure there is a basis_tree available')
+        wt.branch.bzrdir.destroy_workingtree()
+
+        url = self.get_readonly_url() + '/README'
+        out, err = self.run_bzr('cat', url)
+        self.assertEqual('contents of README\n', out)
+        



More information about the bazaar-commits mailing list