Rev 2989: Better behavior when user requests a log that cannot be viewed (Kent Gibson) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

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


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

------------------------------------------------------------
revno: 2989
revision-id: pqm at pqm.ubuntu.com-20071114033042-jhkjkkog2k7aoaod
parent: pqm at pqm.ubuntu.com-20071114000124-2rkxwrcwid2wgcqn
parent: abentley at panoramicfeedback.com-20071113221001-s8ze1iutpv6750zz
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2007-11-14 03:30:42 +0000
message:
  Better behavior when user requests a log that cannot be viewed (Kent Gibson)
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
  bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
    ------------------------------------------------------------
    revno: 2985.1.1
    merged: abentley at panoramicfeedback.com-20071113221001-s8ze1iutpv6750zz
    parent: pqm at pqm.ubuntu.com-20071113213549-jdbrso1a6zbaufx7
    parent: warthog618 at gmail.com-20071112225915-a0y16583x36d6tvm
    committer: Aaron Bentley <abentley at panoramicfeedback.com>
    branch nick: Aaron's integration
    timestamp: Tue 2007-11-13 17:10:01 -0500
    message:
      Better behavior when user requests a log that cannot be viewed (Kent Gibson)
    ------------------------------------------------------------
    revno: 2978.3.2
    merged: warthog618 at gmail.com-20071112225915-a0y16583x36d6tvm
    parent: warthog618 at gmail.com-20071111233550-ccljp2itwy0v0dei
    committer: Kent Gibson <warthog618 at gmail.com>
    branch nick: lp148908
    timestamp: Tue 2007-11-13 07:59:15 +0900
    message:
      Use in rather than has_key
    ------------------------------------------------------------
    revno: 2978.3.1
    merged: warthog618 at gmail.com-20071111233550-ccljp2itwy0v0dei
    parent: pqm at pqm.ubuntu.com-20071109195036-5o5bwu0a01uniqwg
    committer: Kent Gibson <warthog618 at gmail.com>
    branch nick: lp148908
    timestamp: Mon 2007-11-12 08:35:50 +0900
    message:
      Return an error if the revisionspec contains merge revisions, but the log formatter doesn't support them.
=== modified file 'NEWS'
--- a/NEWS	2007-11-14 00:01:24 +0000
+++ b/NEWS	2007-11-14 03:30:42 +0000
@@ -84,6 +84,9 @@
    * Fix exception when ScopeReplacer is assigned to before any members have
      been retrieved.  (Aaron Bentley)
 
+   * Fix exception when revisionspec contains merge revisons but log
+     formatter doesn't support merge revisions. (Kent Gibson, #148908)
+
   API BREAKS:
 
    * ``osutils.backup_file`` is deprecated. Actually it's not used in bzrlib

=== modified file 'bzrlib/log.py'
--- a/bzrlib/log.py	2007-10-16 17:37:43 +0000
+++ b/bzrlib/log.py	2007-11-13 22:10:01 +0000
@@ -229,6 +229,12 @@
     else:
         generate_merge_revisions = getattr(lf, 'supports_merge_revisions', 
                                            False)
+    if ((not generate_merge_revisions)
+        and ((start_rev_id and (start_rev_id not in rev_nos))
+            or (end_rev_id and (end_rev_id not in rev_nos)))):
+        from bzrlib.errors import BzrCommandError
+        raise BzrCommandError('Selected log formatter only supports '
+            'mainline revisions.')
     view_revs_iter = get_view_revisions(mainline_revs, rev_nos, branch,
                           direction, include_merges=generate_merge_revisions)
     view_revisions = _filter_revision_range(list(view_revs_iter),

=== modified file 'bzrlib/tests/blackbox/test_log.py'
--- a/bzrlib/tests/blackbox/test_log.py	2007-09-16 02:29:50 +0000
+++ b/bzrlib/tests/blackbox/test_log.py	2007-11-11 23:35:50 +0000
@@ -304,6 +304,16 @@
         self.assertTrue('  first post' not in out)
         self.assertEqual('', err)
 
+    def test_merges_nonsupporting_formatter(self):
+        self._prepare()
+        err_msg = 'Selected log formatter only supports mainline revisions.'
+        out,err = self.run_bzr('log --short -r1.1.2', retcode=3)
+        self.assertContainsRe(err, err_msg)
+        out,err = self.run_bzr('log --short -r1..1.1.2', retcode=3)
+        self.assertContainsRe(err, err_msg)
+        out,err = self.run_bzr('log --short -r1.1.1..1.1.2', retcode=3)
+        self.assertContainsRe(err, err_msg)
+
  
 class TestLogEncodings(TestCaseInTempDir):
 




More information about the bazaar-commits mailing list