Function: cvs-revert-if-needed
cvs-revert-if-needed is a byte-compiled function defined in
pcvs.el.gz.
Signature
(cvs-revert-if-needed FIS)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/pcvs.el.gz
(defun cvs-revert-if-needed (fis)
(dolist (fileinfo fis)
(let* ((file (cvs-fileinfo->full-name fileinfo))
(buffer (find-buffer-visiting file)))
;; For a revert to happen the user must be editing the file...
(unless (or (null buffer)
(memq (cvs-fileinfo->type fileinfo) '(MESSAGE UNKNOWN))
;; FIXME: check whether revert is really needed.
;; `(verify-visited-file-modtime buffer)' doesn't cut it
;; because it only looks at the time stamp (it ignores
;; read-write changes) which is not changed by `commit'.
(buffer-modified-p buffer))
(with-current-buffer buffer
(ignore-errors
(revert-buffer 'ignore-auto 'dont-ask 'preserve-modes)
;; `preserve-modes' avoids changing the (minor) modes. But we
;; do want to reset the mode for VC, so we do it explicitly.
(vc-refresh-state)
(when (eq (cvs-fileinfo->type fileinfo) 'CONFLICT)
(smerge-start-session))))))))