From 9f8951d1c0d8a66830553f9d64be4df9e86cbaeb Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 28 Aug 2008 17:48:15 +0000 Subject: (vc-workfile-unchanged-p): Revert last change. --- lisp/vc-hooks.el | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'lisp/vc-hooks.el') diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index 6b90fa1381f..2a7875caa67 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el @@ -559,13 +559,16 @@ and does not employ any heuristic at all." "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. -- cgit v1.2.1