comparison lisp/vc/vc.el @ 109431:799b50142743

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 11 Jul 2010 22:57:47 +0000
parents c166807ffc89 60516122d066
children d92d0e17a7ce
comparison
equal deleted inserted replaced
109430:0b8608a36b55 109431:799b50142743
1698 (revision (if (string-equal rev "") 1698 (revision (if (string-equal rev "")
1699 (vc-working-revision file) 1699 (vc-working-revision file)
1700 rev))) 1700 rev)))
1701 (switch-to-buffer-other-window (vc-find-revision file revision)))) 1701 (switch-to-buffer-other-window (vc-find-revision file revision))))
1702 1702
1703 (defun vc-find-revision (file revision) 1703 (defun vc-find-revision (file revision &optional backend)
1704 "Read REVISION of FILE into a buffer and return the buffer." 1704 "Read REVISION of FILE into a buffer and return the buffer.
1705 Use BACKEND as the VC backend if specified."
1705 (let ((automatic-backup (vc-version-backup-file-name file revision)) 1706 (let ((automatic-backup (vc-version-backup-file-name file revision))
1706 (filebuf (or (get-file-buffer file) (current-buffer))) 1707 (filebuf (or (get-file-buffer file) (current-buffer)))
1707 (filename (vc-version-backup-file-name file revision 'manual))) 1708 (filename (vc-version-backup-file-name file revision 'manual)))
1708 (unless (file-exists-p filename) 1709 (unless (file-exists-p filename)
1709 (if (file-exists-p automatic-backup) 1710 (if (file-exists-p automatic-backup)
1717 (with-temp-file filename 1718 (with-temp-file filename
1718 (let ((outbuf (current-buffer))) 1719 (let ((outbuf (current-buffer)))
1719 ;; Change buffer to get local value of 1720 ;; Change buffer to get local value of
1720 ;; vc-checkout-switches. 1721 ;; vc-checkout-switches.
1721 (with-current-buffer filebuf 1722 (with-current-buffer filebuf
1722 (vc-call find-revision file revision outbuf)))) 1723 (if backend
1724 (vc-call-backend backend 'find-revision file revision outbuf)
1725 (vc-call find-revision file revision outbuf)))))
1723 (setq failed nil)) 1726 (setq failed nil))
1724 (when (and failed (file-exists-p filename)) 1727 (when (and failed (file-exists-p filename))
1725 (delete-file filename)))) 1728 (delete-file filename))))
1726 (vc-mode-line file)) 1729 (vc-mode-line file))
1727 (message "Checking out %s...done" filename))) 1730 (message "Checking out %s...done" filename)))