Mercurial > emacs
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.