Mercurial > emacs
changeset 108914:e7f12b4b8ef7
Add optional support for resetting VC properties.
* 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.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Tue, 08 Jun 2010 23:48:29 -0700 |
parents | c05344a913c8 |
children | f82a793ed06b |
files | lisp/ChangeLog lisp/vc-dispatcher.el |
diffstat | 2 files changed, 15 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue Jun 08 22:24:01 2010 -0700 +++ b/lisp/ChangeLog Tue Jun 08 23:48:29 2010 -0700 @@ -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:.
--- a/lisp/vc-dispatcher.el Tue Jun 08 22:24:01 2010 -0700 +++ b/lisp/vc-dispatcher.el Tue Jun 08 23:48:29 2010 -0700 @@ -446,7 +446,7 @@ (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 @@ (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 @@ (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