Rev 2990: Fix 133751 by erroring if -r0 is provided to log in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Wed Nov 14 07:03:16 GMT 2007


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

------------------------------------------------------------
revno: 2990
revision-id: pqm at pqm.ubuntu.com-20071114070314-fdmaj14v4x59z1yv
parent: pqm at pqm.ubuntu.com-20071114033042-jhkjkkog2k7aoaod
parent: aaron.bentley at utoronto.ca-20071114060641-mtgu4avc4x6td0v0
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2007-11-14 07:03:14 +0000
message:
  Fix 133751 by erroring if -r0 is provided to log
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
  bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
    ------------------------------------------------------------
    revno: 2989.1.1
    merged: aaron.bentley at utoronto.ca-20071114060641-mtgu4avc4x6td0v0
    parent: pqm at pqm.ubuntu.com-20071114033042-jhkjkkog2k7aoaod
    parent: warthog618 at gmail.com-20071113120234-83obao6z4296vi9e
    committer: Aaron Bentley <aaron.bentley at utoronto.ca>
    branch nick: bzr.ab.integration
    timestamp: Wed 2007-11-14 01:06:41 -0500
    message:
      Merge Kent's revision 0 fix
    ------------------------------------------------------------
    revno: 2978.4.1
    merged: warthog618 at gmail.com-20071113120234-83obao6z4296vi9e
    parent: pqm at pqm.ubuntu.com-20071109195036-5o5bwu0a01uniqwg
    committer: Kent Gibson <warthog618 at gmail.com>
    branch nick: lp133751
    timestamp: Tue 2007-11-13 21:02:34 +0900
    message:
      Logging revision 0 returns error.
=== modified file 'NEWS'
--- a/NEWS	2007-11-14 03:30:42 +0000
+++ b/NEWS	2007-11-14 06:06:41 +0000
@@ -87,6 +87,9 @@
    * Fix exception when revisionspec contains merge revisons but log
      formatter doesn't support merge revisions. (Kent Gibson, #148908)
 
+   * Return error instead of a traceback for ``bzr log -r0``.
+     (Kent Gibson, #133751)
+
   API BREAKS:
 
    * ``osutils.backup_file`` is deprecated. Actually it's not used in bzrlib

=== modified file 'bzrlib/log.py'
--- a/bzrlib/log.py	2007-11-13 22:10:01 +0000
+++ b/bzrlib/log.py	2007-11-14 06:06:41 +0000
@@ -57,8 +57,11 @@
     symbol_versioning,
     )
 import bzrlib.errors as errors
-from bzrlib.revisionspec import(
-    RevisionInfo
+from bzrlib.revision import (
+    NULL_REVISION,
+    )
+from bzrlib.revisionspec import (
+    RevisionInfo,
     )
 from bzrlib.symbol_versioning import (
     deprecated_method,
@@ -362,6 +365,10 @@
             branch.check_real_revno(end_revision)
             end_revno = end_revision
 
+    if ((start_rev_id == NULL_REVISION)
+        or (end_rev_id == NULL_REVISION)):
+        from bzrlib.errors import BzrCommandError
+        raise BzrCommandError('Logging revision 0 is invalid.')
     if start_revno > end_revno:
         from bzrlib.errors import BzrCommandError
         raise BzrCommandError("Start revision must be older than "

=== modified file 'bzrlib/tests/blackbox/test_log.py'
--- a/bzrlib/tests/blackbox/test_log.py	2007-11-11 23:35:50 +0000
+++ b/bzrlib/tests/blackbox/test_log.py	2007-11-14 06:06:41 +0000
@@ -60,9 +60,23 @@
     def test_log_null_both_revspecs(self):
         self._prepare()
         log = self.run_bzr("log -r ..")[0]
-        self.assertEquals(self.full_log, log)
         self.assertEqualDiff(self.full_log, log)
 
+    def test_log_zero_revspec(self):
+        self._prepare()
+        self.run_bzr_error('bzr: ERROR: Logging revision 0 is invalid.',
+                           ['log', '-r0'])
+
+    def test_log_zero_begin_revspec(self):
+        self._prepare()
+        self.run_bzr_error('bzr: ERROR: Logging revision 0 is invalid.',
+                           ['log', '-r0..2'])
+
+    def test_log_zero_end_revspec(self):
+        self._prepare()
+        self.run_bzr_error('bzr: ERROR: Logging revision 0 is invalid.',
+                           ['log', '-r-2..0'])
+
     def test_log_negative_begin_revspec_full_log(self):
         self._prepare()
         log = self.run_bzr("log -r -3..")[0]
@@ -87,7 +101,7 @@
         self.assertTrue('revno: 2\n' in log)
         self.assertTrue('revno: 3\n' in log)
 
-    def test_log_postive_revspecs(self):
+    def test_log_positive_revspecs(self):
         self._prepare()
         log = self.run_bzr("log -r 1..3")[0]
         self.assertEqualDiff(self.full_log, log)




More information about the bazaar-commits mailing list