Mercurial > emacs
changeset 74940:f0d812b53a76
(vc-arch-find-version): New function.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 27 Dec 2006 16:26:34 +0000 |
parents | e58390f88130 |
children | e7574ee349e7 |
files | lisp/ChangeLog lisp/vc-arch.el |
diffstat | 2 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Dec 27 16:25:42 2006 +0000 +++ b/lisp/ChangeLog Wed Dec 27 16:26:34 2006 +0000 @@ -1,3 +1,10 @@ +2006-12-27 Stefan Monnier <monnier@iro.umontreal.ca> + + * vc-arch.el (vc-arch-find-version): New function. + + * vc-hooks.el (vc-version-backup-file-name): Revision names may be + composed of arbitrary characters (even /) in some systems. + 2006-12-27 Eli Zaretskii <eliz@gnu.org> * international/mule-cmds.el (select-safe-coding-system-interactively):
--- a/lisp/vc-arch.el Wed Dec 27 16:25:42 2006 +0000 +++ b/lisp/vc-arch.el Wed Dec 27 16:26:34 2006 +0000 @@ -406,6 +406,20 @@ (defun vc-arch-init-version () nil) +;;; Less obvious implementations. + +(defun vc-arch-find-version (file rev buffer) + (let ((out (make-temp-file "vc-out"))) + (unwind-protect + (progn + (with-temp-buffer + (vc-arch-command (current-buffer) 1 nil "file-diffs" file rev) + (call-process-region (point-min) (point-max) + "patch" nil nil nil "-R" "-o" out file)) + (with-current-buffer buffer + (insert-file-contents out))) + (delete-file out)))) + (provide 'vc-arch) ;; arch-tag: a35c7c1c-5237-429d-88ef-3d718fd2e704