commit 71fd3f800f88676ff3393852464197a86a28ed22 Author: Tom Tromey Date: Mon Feb 13 17:24:04 2017 -0700 Make vc-git and vc-hg revert buffers on branch switch * lisp/vc/vc-git.el (vc-git-retrieve-tag): Respect "update". * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Respect "update". diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index de07ea2..586394b 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1238,11 +1238,14 @@ vc-git-create-tag (vc-git-command nil 0 nil "checkout" "-b" name) (vc-git-command nil 0 nil "tag" name))))) -(defun vc-git-retrieve-tag (dir name _update) +(declare-function vc-resynch-buffers-in-directory "vc-dispatcher" + (directory &optional keep noquery reset-vc-info)) + +(defun vc-git-retrieve-tag (dir name update) (let ((default-directory dir)) (vc-git-command nil 0 nil "checkout" name) - ;; FIXME: update buffers if `update' is true - )) + (when update + (vc-resynch-buffers-in-directory dir t t)))) ;;; MISCELLANEOUS diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index 2f9487c..ea61494 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -558,11 +558,15 @@ vc-hg-create-tag (and (vc-hg-command nil 0 nil "status") (vc-hg-command nil 0 nil (if branchp "bookmark" "tag") name)))) -(defun vc-hg-retrieve-tag (dir name _update) +(declare-function vc-resynch-buffers-in-directory "vc-dispatcher" + (directory &optional keep noquery reset-vc-info)) + +(defun vc-hg-retrieve-tag (dir name update) "Retrieve the version tagged by NAME of all registered files at or below DIR." (let ((default-directory dir)) (vc-hg-command nil 0 nil "update" name) - ;; FIXME: update buffers if `update' is true + (when update + (vc-resynch-buffers-in-directory dir t t)) ;; TODO: update *vc-change-log* buffer so can see @ if --graph ))