From: Juanma Barranquero Date: Tue, 20 Apr 2004 16:49:26 +0000 (+0000) Subject: (vc-svn-print-log, vc-svn-diff): Add optional BUFFER arg. X-Git-Tag: ttn-vms-21-2-B4~6719 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b349012b10a0c5a031457a8c6bd6dbfbab451f5c;p=emacs.git (vc-svn-print-log, vc-svn-diff): Add optional BUFFER arg. Copied from Andre Spiegel's patch of 2004-03-21. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8ac677f025f..232173168c0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2004-04-20 Juanma Barranquero + * vc-svn.el (vc-svn-print-log, vc-svn-diff): Add optional BUFFER + arg. Copied from Andre Spiegel's patch of 2004-03-21. + * calendar/time-date.el (time-to-day-in-year): Fix docstring. 2004-04-20 Kenichi Handa diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el index 08af8f01977..4db9788cc3b 100644 --- a/lisp/vc-svn.el +++ b/lisp/vc-svn.el @@ -334,21 +334,22 @@ The changes are between FIRST-VERSION and SECOND-VERSION." ;;; History functions ;;; -(defun vc-svn-print-log (file) +(defun vc-svn-print-log (file &optional buffer) "Get change log associated with FILE." (save-current-buffer - (vc-setup-buffer nil) + (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. (insert "Working file: " (file-relative-name file) "\n")) (vc-svn-command - t + buffer (if (and (vc-stay-local-p file) (fboundp 'start-process)) 'async 0) file "log"))) -(defun vc-svn-diff (file &optional oldvers newvers) +(defun vc-svn-diff (file &optional oldvers newvers buffer) "Get a difference report using SVN between two versions of FILE." + (unless buffer (setq buffer "*vc-diff*")) (if (string= (vc-workfile-version file) "0") ;; This file is added but not yet committed; there is no master file. (if (or oldvers newvers) @@ -356,7 +357,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION." ;; We regard this as "changed". ;; Diff it against /dev/null. ;; Note: this is NOT a "svn diff". - (apply 'vc-do-command "*vc-diff*" + (apply 'vc-do-command buffer 1 "diff" file (append (vc-switches nil 'diff) '("/dev/null"))) ;; Even if it's empty, it's locally modified. @@ -365,7 +366,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION." (async (and (vc-stay-local-p file) (or oldvers newvers) ; Svn diffs those locally. (fboundp 'start-process)))) - (apply 'vc-svn-command "*vc-diff*" + (apply 'vc-svn-command buffer (if async 'async 0) file "diff" (append @@ -377,7 +378,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION." (if async 1 ; async diff => pessimistic assumption ;; For some reason `svn diff' does not return a useful ;; status w.r.t whether the diff was empty or not. - (buffer-size (get-buffer "*vc-diff*")))))) + (buffer-size (get-buffer buffer)))))) (defun vc-svn-diff-tree (dir &optional rev1 rev2) "Diff all files at and below DIR."