summaryrefslogtreecommitdiff
path: root/lisp/vc-svn.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-svn.el
parent2de386ca1d481a544e6fed79baaa19adcc80161d (diff)
downloademacs-662c5698fb07b4e280ef548375c703c1d03455c0.tar.gz
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-svn.el')
-rw-r--r--lisp/vc-svn.el25
1 files changed, 16 insertions, 9 deletions
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index fb62979adaa..3c7e2730df9 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -462,7 +462,7 @@ or svn+ssh://."
(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 @@ or svn+ssh://."
;; (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."