changeset 97788:14bced35f912

(vc-workfile-unchanged-p): Revert last change.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 28 Aug 2008 17:48:15 +0000
parents fcf87f33baa7
children 165539679bea
files lisp/vc-hooks.el
diffstat 1 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- 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.