* vc/vc-bzr.el (vc-bzr-print-log): Improve START-REVISION with LIMIT != 1.
authorGlenn Morris <rgm@gnu.org>
Wed, 24 Apr 2013 08:13:52 +0000 (01:13 -0700)
committerGlenn Morris <rgm@gnu.org>
Wed, 24 Apr 2013 08:13:52 +0000 (01:13 -0700)
Fixes: debbugs:14168

lisp/ChangeLog
lisp/vc/vc-bzr.el

index dd562cd..0fb2199 100644 (file)
@@ -1,5 +1,6 @@
 2013-04-24  Glenn Morris  <rgm@gnu.org>
 
+       * vc/vc-bzr.el (vc-bzr-print-log):
        * vc/vc-hg.el (vc-hg-print-log):
        * vc/vc-svn.el (vc-svn-print-log):
        Fix START-REVISION with LIMIT != 1.  (Bug#14168)
index d01fced..06942ad 100644 (file)
@@ -712,6 +712,15 @@ If LIMIT is non-nil, show no more than this many entries."
            (when shortlog '("--line"))
            (when start-revision (list (format "-r..%s" start-revision)))
            (when limit (list "-l" (format "%s" limit)))
+           ;; This is to remove --forward, if it has been added by an alias.
+           ;; There is no sensible way to combine --limit and --forward,
+           ;; and it breaks the meaning of START-REVISION as the
+           ;; _newest_ revision.  See bug#14168.
+           ;; FIXME There may be other alias stuff we want to keep.
+           ;; Is there a way to just suppress --forward?
+           ;; As of 2013/4 the only caller uses limit = 1, so it does
+           ;; not matter much.
+           (and start-revision limit (> limit 1) '("--no-aliases"))
            (if (stringp vc-bzr-log-switches)
                (list vc-bzr-log-switches)
              vc-bzr-log-switches)))))