Function: vc-svn-print-log

vc-svn-print-log is a byte-compiled function defined in vc-svn.el.gz.

Signature

(vc-svn-print-log FILES BUFFER &optional SHORTLOG START-REVISION LIMIT)

Documentation

Print commit log associated with FILES into specified BUFFER.

SHORTLOG is ignored. If START-REVISION is non-nil, it is the newest revision to show. If LIMIT is non-nil, show no more than this many entries.

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-svn.el.gz
(defun vc-svn-print-log (files buffer &optional _shortlog start-revision limit)
  "Print commit log associated with FILES into specified BUFFER.
SHORTLOG is ignored.
If START-REVISION is non-nil, it is the newest revision to show.
If LIMIT is non-nil, show no more than this many entries."
  (save-current-buffer
    (vc-setup-buffer buffer)
    (let ((inhibit-read-only t))
      (goto-char (point-min))
      (if files
	  (dolist (file files)
	    (insert "Working file: " file "\n")
	    (apply
	     #'vc-svn-command
	     buffer
	     'async
	     (list file)
	     "log"
	     (append
	      (list
	       (if start-revision
		   (format "-r%s:1" 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"))
              (if (eq vc-log-view-type 'with-diff)
                  (list "--diff"))
              (when limit (list "--limit" (format "%s" limit))))))
	;; Dump log for the entire directory.
	(apply #'vc-svn-command buffer 0 nil "log"
	       (append
		(list
		 (if start-revision (format "-r%s" start-revision) "-rHEAD:0"))
                (if (eq vc-log-view-type 'with-diff)
                    (list "--diff"))
                (when limit (list "--limit" (format "%s" limit)))))))))