# HG changeset patch # User Chong Yidong # Date 1219945695 0 # Node ID 14bced35f912e2e537d8d983d6e6ed3ee9129fde # Parent fcf87f33baa70aab0727f9fd84dfa85b8b9d4de6 (vc-workfile-unchanged-p): Revert last change. diff -r fcf87f33baa7 -r 14bced35f912 lisp/vc-hooks.el --- a/lisp/vc-hooks.el Thu Aug 28 17:45:27 2008 +0000 +++ b/lisp/vc-hooks.el Thu Aug 28 17:48:15 2008 +0000 @@ -559,13 +559,16 @@ "Return non-nil if FILE has not changed since the last checkout." (let ((checkout-time (vc-file-getprop file 'vc-checkout-time)) (lastmod (nth 5 (file-attributes file)))) - (or (and checkout-time - ;; Tramp and Ange-FTP return this when they don't know the time. - (not (equal lastmod '(0 0))) - (equal checkout-time lastmod)) - (let ((unchanged (vc-call workfile-unchanged-p file))) - (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) - unchanged)))) + ;; This is a shortcut for determining when the workfile is + ;; unchanged. It can fail under some circumstances; see the + ;; discussion in bug#694. + (if (and checkout-time + ;; Tramp and Ange-FTP return this when they don't know the time. + (not (equal lastmod '(0 0)))) + (equal checkout-time lastmod) + (let ((unchanged (vc-call workfile-unchanged-p file))) + (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) + unchanged)))) (defun vc-default-workfile-unchanged-p (backend file) "Check if FILE is unchanged by diffing against the master version.