From: André Spiegel Date: Sun, 19 Nov 2000 09:58:38 +0000 (+0000) Subject: (vc-workfile-unchanged-p, vc-default-workfile-unchanged-p): Moved here X-Git-Tag: emacs-pretest-21.0.91~7 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=19a79b62ec4cf92172b122a8c0e4fab96ec42021;p=emacs.git (vc-workfile-unchanged-p, vc-default-workfile-unchanged-p): Moved here from vc.el. --- diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index a91f76740d3..53108653f04 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-hooks.el,v 1.127 2000/11/04 18:24:50 spiegel Exp $ +;; $Id: vc-hooks.el,v 1.128 2000/11/06 13:19:38 monnier Exp $ ;; This file is part of GNU Emacs. @@ -365,14 +365,26 @@ It simply calls the real state computation function `vc-BACKEND-state' and does not employ any heuristic at all." (vc-call-backend backend 'state file)) +(defun vc-workfile-unchanged-p (file) + "Has FILE changed since last checkout?" + (let ((checkout-time (vc-file-getprop file 'vc-checkout-time)) + (lastmod (nth 5 (file-attributes file)))) + (if checkout-time + (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 (file) + "Default check whether FILE is unchanged: diff against master version." + (zerop (vc-call diff file (vc-workfile-version file)))) + (defun vc-workfile-version (file) "Return version level of the current workfile FILE." (or (vc-file-getprop file 'vc-workfile-version) (vc-file-setprop file 'vc-workfile-version (vc-call workfile-version file)))) -;;; actual version-control code starts here - (defun vc-default-registered (backend file) "Check if FILE is registered in BACKEND using vc-BACKEND-master-templates." (let ((sym (vc-make-backend-sym backend 'master-templates)))