mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
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.
This commit is contained in:
parent
fab43c76d0
commit
00fd1147bf
2 changed files with 15 additions and 7 deletions
|
|
@ -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:.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue