Mercurial > emacs
diff lisp/vc-svn.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 | 2df31b09d293 |
children | 3ecd902dead9 |
line wrap: on
line diff
--- a/lisp/vc-svn.el Mon Dec 07 06:56:40 2009 +0000 +++ b/lisp/vc-svn.el Mon Dec 07 09:02:11 2009 +0000 @@ -462,7 +462,7 @@ (require 'add-log) (set (make-local-variable 'log-view-per-file-logs) nil)) -(defun vc-svn-print-log (files buffer &optional shortlog limit) +(defun vc-svn-print-log (files buffer &optional shortlog start-revision limit) "Get change log(s) associated with FILES." (save-current-buffer (vc-setup-buffer buffer) @@ -478,15 +478,22 @@ ;; (if (and (= (length files) 1) (vc-stay-local-p file 'SVN)) 'async 0) (list file) "log" - ;; By default Subversion only shows the log up to the - ;; working revision, whereas we also want the log of the - ;; subsequent commits. At least that's what the - ;; vc-cvs.el code does. - "-rHEAD:0" - (when limit (list "-l" (format "%s" limit))))) + (append + (list + (if start-revision + (format "-r%s" start-revision) + ;; By default Subversion only shows the log up to the + ;; working revision, whereas we also want the log of the + ;; subsequent commits. At least that's what the + ;; vc-cvs.el code does. + "-rHEAD:0")) + (when limit (list "-l" (format "%s" limit)))))) ;; Dump log for the entire directory. - (apply 'vc-svn-command buffer 0 nil "log" "-rHEAD:0" - (when limit (list "-l" (format "%s" limit)))))))) + (apply 'vc-svn-command buffer 0 nil "log" + (append + (list + (if start-revision (format "-r%s" start-revision) "-rHEAD:0")) + (when limit (list "-l" (format "%s" limit))))))))) (defun vc-svn-diff (files &optional oldvers newvers buffer) "Get a difference report using SVN between two revisions of fileset FILES."