changeset 87426:47c02bd68801

*** empty log message ***
author Eric S. Raymond <esr@snark.thyrsus.com>
date Thu, 27 Dec 2007 03:10:52 +0000
parents 6993642c1877
children 1aea302af710
files lisp/ChangeLog lisp/vc-svn.el
diffstat 2 files changed, 19 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- 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  <schwab@suse.de>
 
 	* font-lock.el (save-buffer-state): Make sure the state of the
--- 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."