Function: diff-hl-create-revision
diff-hl-create-revision is a natively compiled function defined in
diff-hl.el.
Signature
(diff-hl-create-revision FILE REVISION)
Documentation
Read REVISION of FILE into a buffer and return the buffer.
Source Code
;; Defined in /nix/store/cfz56rl3lp066226i0bmmgiicls3gcq7-emacs-packages-deps/share/emacs/site-lisp/elpa/diff-hl-20261001.135/diff-hl.el
(defun diff-hl-create-revision (file revision)
"Read REVISION of FILE into a buffer and return the buffer."
(let ((automatic-backup (diff-hl-make-temp-file-name file revision))
(filebuf (get-file-buffer file))
(filename (diff-hl-make-temp-file-name file revision 'manual)))
(unless (file-exists-p filename)
(if (file-exists-p automatic-backup)
(rename-file automatic-backup filename nil)
(with-current-buffer filebuf
(let ((coding-system-for-read 'no-conversion)
(coding-system-for-write 'no-conversion))
(condition-case nil
(with-temp-file filename
(let ((outbuf (current-buffer)))
;; Change buffer to get local value of
;; vc-checkout-switches.
(with-current-buffer filebuf
(vc-call find-revision file revision outbuf))))
(error
(when (file-exists-p filename)
(delete-file filename))))))))
filename))