Rev 4418: Add tests that dotted revno and unknown revno are both supported. in http://bazaar.launchpad.net/~jameinel/bzr/tree_opt
John Arbash Meinel
john at arbash-meinel.com
Fri Jun 5 14:27:24 BST 2009
At http://bazaar.launchpad.net/~jameinel/bzr/tree_opt
------------------------------------------------------------
revno: 4418
revision-id: john at arbash-meinel.com-20090605132617-7kx1smlz82ktg5ej
parent: john at arbash-meinel.com-20090605132035-n0zufqegqxp9kqxa
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: tree_opt
timestamp: Fri 2009-06-05 08:26:17 -0500
message:
Add tests that dotted revno and unknown revno are both supported.
-------------- next part --------------
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2009-06-05 08:28:06 +0000
+++ b/bzrlib/builtins.py 2009-06-05 13:26:17 +0000
@@ -480,15 +480,16 @@
@display_command
def run(self, tree=False, location=u'.'):
- branch = Branch.open_containing(location)[0]
if tree:
- revid = WorkingTree.open_containing(location)[0]._last_revision()
+ wt = WorkingTree.open_containing(location)[0]
+ revid = wt.last_revision()
try:
- revno_t = branch.revision_id_to_dotted_revno(revid)
+ revno_t = wt.branch.revision_id_to_dotted_revno(revid)
except errors.NoSuchRevision:
revno_t = ('???',)
revno = ".".join(str(n) for n in revno_t)
else:
+ branch = Branch.open_containing(location)[0]
revno = branch.revno()
self.outf.write(str(revno) + '\n')
=== modified file 'bzrlib/tests/blackbox/test_revno.py'
--- a/bzrlib/tests/blackbox/test_revno.py 2009-06-05 13:20:35 +0000
+++ b/bzrlib/tests/blackbox/test_revno.py 2009-06-05 13:26:17 +0000
@@ -70,3 +70,42 @@
self.assertEqual('', err)
self.assertEqual('0\n', out)
+ def test_dotted_revno_tree(self):
+ builder = self.make_branch_builder('branch')
+ builder.start_series()
+ builder.build_snapshot('A-id', None, [
+ ('add', ('', 'root-id', 'directory', None)),
+ ('add', ('file', 'file-id', 'file', 'content\n'))])
+ builder.build_snapshot('B-id', ['A-id'], [])
+ builder.build_snapshot('C-id', ['A-id', 'B-id'], [])
+ builder.finish_series()
+ b = builder.get_branch()
+ co_b = b.create_checkout('checkout_b', lightweight=True,
+ revision_id='B-id')
+ out, err = self.run_bzr('revno checkout_b')
+ self.assertEqual('', err)
+ self.assertEqual('2\n', out)
+ out, err = self.run_bzr('revno --tree checkout_b')
+ self.assertEqual('', err)
+ self.assertEqual('1.1.1\n', out)
+
+ def test_stale_revno_tree(self):
+ builder = self.make_branch_builder('branch')
+ builder.start_series()
+ builder.build_snapshot('A-id', None, [
+ ('add', ('', 'root-id', 'directory', None)),
+ ('add', ('file', 'file-id', 'file', 'content\n'))])
+ builder.build_snapshot('B-id', ['A-id'], [])
+ builder.build_snapshot('C-id', ['A-id'], [])
+ builder.finish_series()
+ b = builder.get_branch()
+ # The branch is now at "C-id", but the checkout is still at "B-id"
+ # which is no longer in the history
+ co_b = b.create_checkout('checkout_b', lightweight=True,
+ revision_id='B-id')
+ out, err = self.run_bzr('revno checkout_b')
+ self.assertEqual('', err)
+ self.assertEqual('2\n', out)
+ out, err = self.run_bzr('revno --tree checkout_b')
+ self.assertEqual('', err)
+ self.assertEqual('???\n', out)
More information about the bazaar-commits
mailing list