aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/vc-hooks.el17
1 files changed, 10 insertions, 7 deletions
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."
559 "Return non-nil if FILE has not changed since the last checkout." 559 "Return non-nil if FILE has not changed since the last checkout."
560 (let ((checkout-time (vc-file-getprop file 'vc-checkout-time)) 560 (let ((checkout-time (vc-file-getprop file 'vc-checkout-time))
561 (lastmod (nth 5 (file-attributes file)))) 561 (lastmod (nth 5 (file-attributes file))))
562 (or (and checkout-time 562 ;; This is a shortcut for determining when the workfile is
563 ;; Tramp and Ange-FTP return this when they don't know the time. 563 ;; unchanged. It can fail under some circumstances; see the
564 (not (equal lastmod '(0 0))) 564 ;; discussion in bug#694.
565 (equal checkout-time lastmod)) 565 (if (and checkout-time
566 (let ((unchanged (vc-call workfile-unchanged-p file))) 566 ;; Tramp and Ange-FTP return this when they don't know the time.
567 (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) 567 (not (equal lastmod '(0 0))))
568 unchanged)))) 568 (equal checkout-time lastmod)
569 (let ((unchanged (vc-call workfile-unchanged-p file)))
570 (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0))
571 unchanged))))
569 572
570(defun vc-default-workfile-unchanged-p (backend file) 573(defun vc-default-workfile-unchanged-p (backend file)
571 "Check if FILE is unchanged by diffing against the master version. 574 "Check if FILE is unchanged by diffing against the master version.