Show diff for REV.
https://emacs.stackexchange.com/questions/40506/how-can-i-see-diff-for-specific-changeset/
--- a/.emacs-my Sun Jun 02 14:45:01 2019 +0300
+++ b/.emacs-my Tue Jun 04 19:38:35 2019 +0300
@@ -2538,9 +2538,22 @@
(message "vc-mode, VCS, version control, cvs, svn, mercurial, hg, bazaar, bzr, git, fossil")
(eval-when 'compile
+ (require 'vc)
+ (require 'vc-hooks)
(require 'vc-annotate)
(require 'vc-svn))
+(defun my-vc-show-rev (rev)
+ "Show diff for REV."
+ (interactive "sRevision: ")
+ (let ((backend (vc-responsible-backend default-directory)))
+ (when backend
+ (let ((rev-from (vc-call-backend backend 'previous-revision nil rev)))
+ (when rev-from
+ (vc-diff-internal t (list backend nil) rev-from rev))))))
+
+(global-set-key (kbd "C-x v R") 'my-vc-show-rev)
+
;; `-b' switch to ignore changes in whitespaces.
;; (setq vc-git-diff-switches "-b")
;; (setq vc-diff-switches "-b")