summaryrefslogtreecommitdiff
path: root/lisp/vc-svn.el
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2004-04-20 16:49:26 +0000
committerJuanma Barranquero <lekktu@gmail.com>2004-04-20 16:49:26 +0000
commitb349012b10a0c5a031457a8c6bd6dbfbab451f5c (patch)
tree25caaf8370e2350496f770756f5dffff4b88d781 /lisp/vc-svn.el
parent1525ea1e3a5f11385f2ec108accc117bdbc99846 (diff)
downloademacs-b349012b10a0c5a031457a8c6bd6dbfbab451f5c.tar.gz
(vc-svn-print-log, vc-svn-diff): Add optional BUFFER arg.
Copied from Andre Spiegel's patch of 2004-03-21.
Diffstat (limited to 'lisp/vc-svn.el')
-rw-r--r--lisp/vc-svn.el15
1 files changed, 8 insertions, 7 deletions
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."