summaryrefslogtreecommitdiff
path: root/lisp/vc-hg.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-hg.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-hg.el')
-rw-r--r--lisp/vc-hg.el13
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/vc-hg.el b/lisp/vc-hg.el
index ab4bdab8c50..1e01d50a670 100644
--- a/lisp/vc-hg.el
+++ b/lisp/vc-hg.el
@@ -68,7 +68,7 @@
;; - merge-news (file) NEEDED
;; - steal-lock (file &optional revision) NOT NEEDED
;; HISTORY FUNCTIONS
-;; * print-log (files buffer &optional shortlog) OK
+;; * print-log (files buffer &optional shortlog start-revision limit) OK
;; - log-view-mode () OK
;; - show-log-entry (revision) NOT NEEDED, DEFAULT IS GOOD
;; - comment-history (file) NOT NEEDED
@@ -167,9 +167,13 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
(setq status
(condition-case nil
;; Ignore all errors.
- (process-file
+ (let ((process-environment
+ ;; Avoid localization of messages so we can parse the output.
+ (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=") process-environment)))
+
+ (process-file
"hg" nil t nil
- "status" "-A" (file-relative-name file))
+ "status" "-A" (file-relative-name file)))
;; Some problem happened. E.g. We can't find an `hg'
;; executable.
(error nil)))))))
@@ -219,7 +223,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
(repeat :tag "Argument List" :value ("") string))
:group 'vc-hg)
-(defun vc-hg-print-log (files buffer &optional shortlog limit)
+(defun vc-hg-print-log (files buffer &optional shortlog limit start-revision)
"Get change log associated with FILES."
;; `vc-do-command' creates the buffer, but we need it before running
;; the command.
@@ -231,6 +235,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
buffer
(apply 'vc-hg-command buffer 0 files "log"
(append
+ (when start-revision (list (format "-r%s:" start-revision)))
(when limit (list "-l" (format "%s" limit)))
(when shortlog '("--style" "compact"))
vc-hg-log-switches)))))