]> code.delx.au - gnu-emacs/commitdiff
Add optional support for resetting VC properties.
authorDan Nicolaescu <dann@ics.uci.edu>
Wed, 9 Jun 2010 06:48:29 +0000 (23:48 -0700)
committerDan Nicolaescu <dann@ics.uci.edu>
Wed, 9 Jun 2010 06:48:29 +0000 (23:48 -0700)
* lisp/vc-dispatcher.el (vc-resynch-window): Add new optional argument,
call vc-file-clearprops when true.
(vc-resynch-buffer): Add new optional argument, pass it down.
(vc-resynch-buffers-in-directory): Likewise.

lisp/ChangeLog
lisp/vc-dispatcher.el

index 681db215f379fa3d2fdac01c8e290e75072bba25..0faeb774b495d5378467056e1642727e2ca36481 100644 (file)
@@ -1,5 +1,11 @@
 2010-06-09  Dan Nicolaescu  <dann@ics.uci.edu>
 
+       Add optional support for resetting VC properties.
+       * vc-dispatcher.el (vc-resynch-window): Add new optional argument,
+       call vc-file-clearprops when true.
+       (vc-resynch-buffer): Add new optional argument, pass it down.
+       (vc-resynch-buffers-in-directory): Likewise.
+
        Improve support for special markup in the VC commit message.
        * vc-mtn.el (vc-mtn-checkin): Add support for Author: and Date: markup.
        * vc-hg.el (vc-hg-checkin): Add support for Date:.
index 7892fed158f0b782fddc94858a8b22d9b32f27f9..00c580c26382714e1ab8a7bc19a9b719b9480906 100644 (file)
@@ -446,7 +446,7 @@ ARG and NO-CONFIRM are passed on to `revert-buffer'."
       (revert-buffer arg no-confirm t))
     (vc-restore-buffer-context context)))
 
-(defun vc-resynch-window (file &optional keep noquery)
+(defun vc-resynch-window (file &optional keep noquery reset-vc-info)
   "If FILE is in the current buffer, either revert or unvisit it.
 The choice between revert (to see expanded keywords) and unvisit
 depends on KEEP.  NOQUERY if non-nil inhibits confirmation for
@@ -457,6 +457,8 @@ editing!"
   (and (string= buffer-file-name file)
        (if keep
           (when (file-exists-p file)
+            (when reset-vc-info
+              (vc-file-clearprops file))
             (vc-revert-buffer-internal t noquery)
 
             ;; VC operations might toggle the read-only state.  In
@@ -477,24 +479,24 @@ editing!"
 (declare-function vc-dir-resynch-file "vc-dir" (&optional fname))
 (declare-function vc-string-prefix-p "vc" (prefix string))
 
-(defun vc-resynch-buffers-in-directory (directory &optional keep noquery)
+(defun vc-resynch-buffers-in-directory (directory &optional keep noquery reset-vc-info)
   "Resync all buffers that visit files in DIRECTORY."
   (dolist (buffer (buffer-list))
     (let ((fname (buffer-file-name buffer)))
       (when (and fname (vc-string-prefix-p directory fname))
        (with-current-buffer buffer
-         (vc-resynch-buffer fname keep noquery))))))
+         (vc-resynch-buffer fname keep noquery reset-vc-info))))))
 
-(defun vc-resynch-buffer (file &optional keep noquery)
+(defun vc-resynch-buffer (file &optional keep noquery reset-vc-info)
   "If FILE is currently visited, resynch its buffer."
   (if (string= buffer-file-name file)
-      (vc-resynch-window file keep noquery)
+      (vc-resynch-window file keep noquery reset-vc-info)
     (if (file-directory-p file)
-       (vc-resynch-buffers-in-directory file keep noquery)
+       (vc-resynch-buffers-in-directory file keep noquery reset-vc-info)
       (let ((buffer (get-file-buffer file)))
        (when buffer
          (with-current-buffer buffer
-           (vc-resynch-window file keep noquery))))))
+           (vc-resynch-window file keep noquery reset-vc-info))))))
   ;; Try to avoid unnecessary work, a *vc-dir* buffer is only present
   ;; if this is true.
   (when vc-dir-buffers