Mercurial > emacs
diff lisp/vc-bzr.el @ 106472:6e0f1038bc44
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.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Mon, 07 Dec 2009 09:02:11 +0000 |
parents | 5b7b3cac58c5 |
children | 97d377672952 |
line wrap: on
line diff
--- a/lisp/vc-bzr.el Mon Dec 07 06:56:40 2009 +0000 +++ b/lisp/vc-bzr.el Mon Dec 07 09:02:11 2009 +0000 @@ -481,7 +481,7 @@ (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 @@ (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 @@ "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 @@ ;; 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."