summaryrefslogtreecommitdiff
path: root/lisp/vc-bzr.el
diff options
context:
space:
mode:
authorDan Nicolaescu <dann@ics.uci.edu>2009-12-07 09:02:11 +0000
committerDan Nicolaescu <dann@ics.uci.edu>2009-12-07 09:02:11 +0000
commit662c5698fb07b4e280ef548375c703c1d03455c0 (patch)
tree7181cc811c24f419d5d39ab2360b9a0e40118c59 /lisp/vc-bzr.el
parent2de386ca1d481a544e6fed79baaa19adcc80161d (diff)
downloademacs-662c5698fb07b4e280ef548375c703c1d03455c0.tar.gz
emacs-662c5698fb07b4e280ef548375c703c1d03455c0.tar.bz2
emacs-662c5698fb07b4e280ef548375c703c1d03455c0.zip
Support showing a single log entry from vc-annotate.
* vc.el (print-log): Add a new argument: START-REVISION. (vc-print-log-internal): Add a new optional argument and pass it to the backend. (vc-print-log, vc-print-root-log): Adjust callers. * vc-annotate.el (vc-annotate-show-log-revision-at-line): If a buffer already displays the requested log entry, use it. Otherwise display only the log entry in question. * vc-svn.el (vc-svn-print-log): * vc-mtn.el (log-view-file-re): * vc-hg.el (vc-hg-state): * vc-git.el (vc-git-print-log): Add support for new argument START-REVISION. (vc-git-show-log-entry): Return t on success. * vc-bzr.el (vc-bzr-print-log): Add support new argument START-REVISION. (vc-bzr-show-log-entry): Return t on success. * vc-rcs.el (vc-rcs-print-log): * vc-sccs.el (vc-sccs-print-log): * vc-cvs.el (vc-cvs-print-log): Add new argument, ignore it.
Diffstat (limited to 'lisp/vc-bzr.el')
-rw-r--r--lisp/vc-bzr.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el
index 70989ee56e7..ef12f19d2de 100644
--- a/lisp/vc-bzr.el
+++ b/lisp/vc-bzr.el
@@ -481,7 +481,7 @@ REV non-nil gets an error."
(2 'change-log-email))
("^ *timestamp: \\(.*\\)" (1 'change-log-date-face)))))))
-(defun vc-bzr-print-log (files buffer &optional shortlog limit)
+(defun vc-bzr-print-log (files buffer &optional shortlog start-revision limit)
"Get bzr change log for FILES into specified BUFFER."
;; `vc-do-command' creates the buffer, but we need it before running
;; the command.
@@ -495,6 +495,7 @@ REV non-nil gets an error."
(apply 'vc-bzr-command "log" buffer 'async files
(append
(when shortlog '("--short"))
+ (when start-revision (list (format "-r..%s" start-revision)))
(when limit (list "-l" (format "%s" limit)))
(if (stringp vc-bzr-log-switches)
(list vc-bzr-log-switches)
@@ -504,7 +505,8 @@ REV non-nil gets an error."
"Find entry for patch name REVISION in bzr change log buffer."
(goto-char (point-min))
(when revision
- (let (case-fold-search)
+ (let (case-fold-search
+ found)
(if (re-search-forward
;; "revno:" can appear either at the beginning of a line,
;; or indented.
@@ -512,8 +514,11 @@ REV non-nil gets an error."
;; The revision can contain ".", quote it so that it
;; does not interfere with regexp matching.
(regexp-quote revision) "$") nil t)
- (beginning-of-line 0)
- (goto-char (point-min))))))
+ (progn
+ (beginning-of-line 0)
+ (setq found t))
+ (goto-char (point-min)))
+ found)))
(defun vc-bzr-diff (files &optional rev1 rev2 buffer)
"VC bzr backend for diff."