Function: diff-hl-diff-read-revisions
diff-hl-diff-read-revisions is a natively compiled function defined in
diff-hl.el.
Signature
(diff-hl-diff-read-revisions REV1-DEFAULT)
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-diff-read-revisions (rev1-default)
(let* ((file (diff-hl--buffer-file-name))
(files (list file))
(backend (vc-backend file))
(rev2-default nil))
(cond
;; if the file is not up-to-date, use working revision as older revision
((not (vc-up-to-date-p file))
(setq rev1-default
(or rev1-default
(vc-working-revision file))))
((not rev1-default)
(setq rev1-default (ignore-errors ;If `previous-revision' doesn't work.
(vc-call-backend backend 'previous-revision file
(vc-working-revision file))))
(when (string= rev1-default "") (setq rev1-default nil))))
;; finally read the revisions
(let* ((rev1-prompt (if rev1-default
(concat "Older revision (default "
rev1-default "): ")
"Older revision: "))
(rev2-prompt (concat "Newer revision (default "
(or rev2-default "current source") "): "))
(rev1 (vc-read-revision rev1-prompt files backend rev1-default))
(rev2 (vc-read-revision rev2-prompt files backend rev2-default)))
(when (string= rev1 "") (setq rev1 nil))
(when (string= rev2 "") (setq rev2 nil))
(cons rev1 rev2))))