Rev 3673: (Jelmer) Avoid printing traceback when unknown revid is passed to bzr in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue Sep 2 01:21:38 BST 2008


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

------------------------------------------------------------
revno: 3673
revision-id: pqm at pqm.ubuntu.com-20080902002130-5056i7diicwe1uwl
parent: pqm at pqm.ubuntu.com-20080901234631-p34773b45k4j4l92
parent: jelmer at samba.org-20080901234918-jvhvzl5yxuu03dmh
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2008-09-02 01:21:30 +0100
message:
  (Jelmer) Avoid printing traceback when unknown revid is passed to bzr
  	cat-revision.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/tests/blackbox/test_cat_revision.py test_cat_revision.py-20070410204634-fq8mnld5l5aza9e2-1
    ------------------------------------------------------------
    revno: 3668.4.2
    revision-id: jelmer at samba.org-20080901234918-jvhvzl5yxuu03dmh
    parent: jelmer at samba.org-20080830170854-ztumaeiftyc3vm4c
    parent: pqm at pqm.ubuntu.com-20080901234631-p34773b45k4j4l92
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: cat-revision-nosuch
    timestamp: Tue 2008-09-02 01:49:18 +0200
    message:
      Merge bzr.dev.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/mail_client.py          mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
      bzrlib/option.py               option.py-20051014052914-661fb36e76e7362f
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/smart/repository.py     repository.py-20061128022038-vr5wy5bubyb8xttk-1
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/test_outside_wt.py test_outside_wt.py-20060116200058-98edd33e7db8bdde
      bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
      bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
      bzrlib/tests/branch_implementations/test_permissions.py test_permissions.py-20060210110243-245c01403bf0fde6
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_options.py   testoptions.py-20051014093702-96457cfc86319a8f
      bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_setup.py     test_setup.py-20051208073730-4a59a6368c4efa04
      bzrlib/tests/test_whitebox.py  whitebox.py-20050530064534-a063aafb4a0a3a04
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
    ------------------------------------------------------------
    revno: 3668.4.1
    revision-id: jelmer at samba.org-20080830170854-ztumaeiftyc3vm4c
    parent: pqm at pqm.ubuntu.com-20080830091000-3oibqwlrxvdpgo5l
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: cat-revision-nosuch
    timestamp: Sat 2008-08-30 19:08:54 +0200
    message:
      Show proper error rather than traceback when an unknown revision id is specified to bzr cat-revision.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_cat_revision.py test_cat_revision.py-20070410204634-fq8mnld5l5aza9e2-1
=== modified file 'NEWS'
--- a/NEWS	2008-09-01 09:01:24 +0000
+++ b/NEWS	2008-09-01 23:49:18 +0000
@@ -64,6 +64,9 @@
     * Set valid default _param_name for Option so that ListOption can embed
       '-' in names. (Vincent Ladeuil, #263249)
 
+    * Show proper error rather than traceback when an unknown revision 
+      id is specified to ``bzr cat-revision``. (Jelmer Vernooij, #175569)
+
     * ``WorkingTree4`` trees will now correctly report missing-and-new
       paths in the output of ``iter_changes``. (Robert Collins)
 

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2008-08-31 10:46:54 +0000
+++ b/bzrlib/builtins.py	2008-09-01 23:49:18 +0000
@@ -226,7 +226,12 @@
         # TODO: jam 20060112 should cat-revision always output utf-8?
         if revision_id is not None:
             revision_id = osutils.safe_revision_id(revision_id, warn=False)
-            self.outf.write(b.repository.get_revision_xml(revision_id).decode('utf-8'))
+            try:
+                self.outf.write(b.repository.get_revision_xml(revision_id).decode('utf-8'))
+            except errors.NoSuchRevision:
+                msg = "The repository %s contains no revision %s." % (b.repository.base,
+                    revision_id)
+                raise errors.BzrCommandError(msg)
         elif revision is not None:
             for rev in revision:
                 if rev is None:

=== modified file 'bzrlib/tests/blackbox/test_cat_revision.py'
--- a/bzrlib/tests/blackbox/test_cat_revision.py	2007-06-26 20:32:49 +0000
+++ b/bzrlib/tests/blackbox/test_cat_revision.py	2008-08-30 17:08:54 +0000
@@ -53,3 +53,10 @@
         self.check_output(revs[1], 'cat-revision -r revid:a at r-0-1')
         self.check_output(revs[2], 'cat-revision -r revid:a at r-0-2')
         self.check_output(revs[3], 'cat-revision -r revid:a at r-0-3')
+
+    def test_cat_no_such_revid(self):
+        tree = self.make_branch_and_tree('.')
+        err = self.run_bzr('cat-revision abcd', retcode=3)[1]
+        self.assertContainsRe(err, 'The repository .* contains no revision abcd.')
+
+




More information about the bazaar-commits mailing list