Mercurial > emacs
comparison lisp/vc/vc.el @ 109302:60516122d066
Merge changes from emacs-23 branch.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 10 Jul 2010 14:52:53 -0400 |
parents | c70ff40ac4ce |
children | d43e7dfda4f1 a9586dc942d5 051595eb9b58 |
comparison
equal
deleted
inserted
replaced
109190:8afa85da3f2d | 109302:60516122d066 |
---|---|
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))) |