Rev 4953: (andrew) Fix ObjectNotLocked error in 'bzr cat -rbranch:... FILE'. in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Tue Jan 12 09:05:14 GMT 2010
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4953 [merge]
revision-id: pqm at pqm.ubuntu.com-20100112090511-hcet612qmzmxnqey
parent: pqm at pqm.ubuntu.com-20100112083358-3q0c7ngiwtja7qba
parent: andrew.bennetts at canonical.com-20100112070254-b4ilcyls7j9fo2k5
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2010-01-12 09:05:11 +0000
message:
(andrew) Fix ObjectNotLocked error in 'bzr cat -rbranch:... FILE'.
(#506274)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/tests/blackbox/test_cat.py test_cat.py-20051201162916-f0937e4e19ea24b3
=== modified file 'NEWS'
--- a/NEWS 2010-01-12 08:33:58 +0000
+++ b/NEWS 2010-01-12 09:05:11 +0000
@@ -71,6 +71,9 @@
that caused some tests to fail when run in a non-default order.
Probably no user impact. (Martin Pool, #504102)
+* Fixed ``ObjectNotLocked`` error in ``bzr cat -rbranch:../foo FILE``.
+ (Andrew Bennetts, #506274)
+
* FTP transports support Unicode paths by encoding/decoding them as utf8.
(Vincent Ladeuil, #472161)
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2010-01-12 08:33:58 +0000
+++ b/bzrlib/builtins.py 2010-01-12 09:05:11 +0000
@@ -2820,6 +2820,8 @@
if tree is None:
tree = b.basis_tree()
rev_tree = _get_one_revision_tree('cat', revision, branch=b)
+ rev_tree.lock_read()
+ self.add_cleanup(rev_tree.unlock)
old_file_id = rev_tree.path2id(relpath)
@@ -2860,8 +2862,10 @@
chunks = content.splitlines(True)
content = filtered_output_bytes(chunks, filters,
ContentFilterContext(relpath, rev_tree))
+ self.cleanup_now()
self.outf.writelines(content)
else:
+ self.cleanup_now()
self.outf.write(content)
=== modified file 'bzrlib/tests/blackbox/test_cat.py'
--- a/bzrlib/tests/blackbox/test_cat.py 2009-09-18 09:09:36 +0000
+++ b/bzrlib/tests/blackbox/test_cat.py 2010-01-12 07:02:54 +0000
@@ -20,7 +20,6 @@
"""
import os
-import sys
from bzrlib import tests
@@ -128,6 +127,18 @@
out, err = self.run_bzr_subprocess(['cat', url])
self.assertEqual('contents of README\n', out)
+ def test_cat_branch_revspec(self):
+ wt = self.make_branch_and_tree('a')
+ self.build_tree(['a/README'])
+ wt.add('README')
+ wt.commit('Making sure there is a basis_tree available')
+ wt = self.make_branch_and_tree('b')
+ os.chdir('b')
+
+ out, err = self.run_bzr_subprocess(
+ ['cat', '-r', 'branch:../a', 'README'])
+ self.assertEqual('contents of a/README\n', out)
+
def test_cat_filters(self):
wt = self.make_branch_and_tree('.')
self.build_tree(['README'])
More information about the bazaar-commits
mailing list