# HG changeset patch # User Eric S. Raymond # Date 1198725052 0 # Node ID 47c02bd68801712926da1bd9bc241afd766f80e1 # Parent 6993642c18774246f14fe0a35860414c4dbb121a *** empty log message *** diff -r 6993642c1877 -r 47c02bd68801 lisp/ChangeLog --- a/lisp/ChangeLog Thu Dec 27 02:22:59 2007 +0000 +++ b/lisp/ChangeLog Thu Dec 27 03:10:52 2007 +0000 @@ -17,6 +17,9 @@ * vc-mcvs.el (vc-mcvs-dir-state): * vc-svn.el (vc-svn-dir-state): Recurse in subdirectories. + * vc-svn.el (vc-svn-print-log): svn log doesn't actually accept + multiple arguments, so generate logs sequentially when we get them. + 2007-12-26 Andreas Schwab * font-lock.el (save-buffer-state): Make sure the state of the diff -r 6993642c1877 -r 47c02bd68801 lisp/vc-svn.el --- a/lisp/vc-svn.el Thu Dec 27 02:22:59 2007 +0000 +++ b/lisp/vc-svn.el Thu Dec 27 03:10:52 2007 +0000 @@ -374,25 +374,22 @@ (vc-setup-buffer buffer) (let ((inhibit-read-only t)) (goto-char (point-min)) - ;; Add a line to tell log-view-mode what file this is. - ;; FIXME if there are multiple files, log-view-current-file - ;; breaks. It's trivial to adapt log-view-file-re for the - ;; changed prefix, but less trivial to make - ;; log-view-current-file actually do the right thing in the - ;; multiple file case. - (insert (format "Working file%s: " - (if (= (length files) 1) - "" - "s")) - (vc-delistify (mapcar 'file-relative-name files)) "\n")) - (vc-svn-command - buffer - (if (and (= (length files) 1) (vc-stay-local-p (car files))) 'async 0) - files "log" - ;; By default Subversion only shows the log upto 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 files + (dolist (file files) + (insert "Working file: " file "\n") + (vc-svn-command + buffer + 'async + ;; (if (and (= (length files) 1) (vc-stay-local-p file)) '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")) + ;; Dump log for the entire directory. + (vc-svn-command buffer 0 nil "log" "-rHEAD:0"))))) (defun vc-svn-wash-log () "Remove all non-comment information from log output."