From: André Spiegel Date: Tue, 28 Aug 2001 17:06:36 +0000 (+0000) Subject: (vc-*-revert-file): Handle new optional arg CONTENTS-DONE. X-Git-Tag: emacs-pretest-21.0.105~43 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=99739bbf427ac61d3e2a687b07575d4ef916638e;p=emacs.git (vc-*-revert-file): Handle new optional arg CONTENTS-DONE. --- diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el index 9c3a6341cfb..4a6ae5275b1 100644 --- a/lisp/vc-cvs.el +++ b/lisp/vc-cvs.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-cvs.el,v 1.22 2001/04/17 05:59:57 eliz Exp $ +;; $Id: vc-cvs.el,v 1.23 2001/07/04 15:51:18 monnier Exp $ ;; This file is part of GNU Emacs. @@ -378,16 +378,17 @@ REV is the revision to check out into WORKFILE." (vc-mode-line file) (message "Checking out %s...done" filename))))) -(defun vc-cvs-revert (file) +(defun vc-cvs-revert (file &optional contents-done) "Revert FILE to the version it was based on." - ;; Check out via standard output (caused by the final argument - ;; FILE below), so that no sticky tag is set. - (vc-cvs-checkout file nil (vc-workfile-version file) file) - ;; If "cvs edit" was used to make the file writable, - ;; call "cvs unedit" now to undo that. - (if (and (not (eq (vc-cvs-checkout-model file) 'implicit)) - vc-cvs-use-edit) - (vc-do-command nil 0 "cvs" file "unedit"))) + (unless contents-done + ;; Check out via standard output (caused by the final argument + ;; FILE below), so that no sticky tag is set. + (vc-cvs-checkout file nil (vc-workfile-version file) file)) + (unless (eq (vc-checkout-model file) 'implicit) + (if vc-cvs-use-edit + (vc-do-command nil 0 "cvs" file "unedit") + ;; Make the file read-only by switching off all w-bits + (set-file-modes file (logand (file-modes file) 3950))))) (defun vc-cvs-merge (file first-version &optional second-version) "Merge changes into current working copy of FILE. diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el index e33a9c6fdd4..f703b680482 100644 --- a/lisp/vc-rcs.el +++ b/lisp/vc-rcs.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-rcs.el,v 1.19 2001/03/10 10:50:16 spiegel Exp $ +;; $Id: vc-rcs.el,v 1.20 2001/07/16 12:22:59 pj Exp $ ;; This file is part of GNU Emacs. @@ -455,7 +455,7 @@ whether to remove it." new-version)))))) (message "Checking out %s...done" filename))))) -(defun vc-rcs-revert (file) +(defun vc-rcs-revert (file &optional contents-done) "Revert FILE to the version it was based on." (vc-do-command nil 0 "co" (vc-name file) "-f" (concat "-u" (vc-workfile-version file)))) diff --git a/lisp/vc-sccs.el b/lisp/vc-sccs.el index 49692cd0727..f3b922d143e 100644 --- a/lisp/vc-sccs.el +++ b/lisp/vc-sccs.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-sccs.el,v 1.11 2001/03/29 11:49:22 spiegel Exp $ +;; $Id: vc-sccs.el,v 1.12 2001/07/16 12:22:59 pj Exp $ ;; This file is part of GNU Emacs. @@ -261,7 +261,7 @@ locked. REV is the revision to check out into WORKFILE." switches))))) (message "Checking out %s...done" filename))) -(defun vc-sccs-revert (file) +(defun vc-sccs-revert (file &optional contents-done) "Revert FILE to the version it was based on." (vc-do-command nil 0 "unget" (vc-name file)) (vc-do-command nil 0 "get" (vc-name file))