mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
VC: ability to skip update buffers prompt
* lisp/vc/vc.el (vc-default-update-on-retrieve-tag): New function. (vc-retrieve-tag): Call `update-on-retrieve-tag' backend function to determine if prompt for update buffers is needed; Include tag name into the "Retrieving tag" message. * lisp/vc/vc-git.el (vc-git-update-on-retrieve-tag): * lisp/vc/vc-hg.el (vc-hg-update-on-retrieve-tag): * lisp/vc/vc-svn.el (vc-svn-udate-on-retrieve-tag): New functions. Buffers update prompt on `vc-retrieve-tag' is omitted (bug#38156).
This commit is contained in:
parent
c9ede465de
commit
7afde23248
4 changed files with 23 additions and 7 deletions
|
|
@ -47,6 +47,7 @@
|
|||
;; FUNCTION NAME STATUS
|
||||
;; BACKEND PROPERTIES
|
||||
;; * revision-granularity OK
|
||||
;; - update-on-retrieve-tag OK
|
||||
;; STATE-QUERYING FUNCTIONS
|
||||
;; * registered (file) OK
|
||||
;; * state (file) OK
|
||||
|
|
@ -218,6 +219,7 @@ toggle display of the entire list."
|
|||
|
||||
(defun vc-git-revision-granularity () 'repository)
|
||||
(defun vc-git-checkout-model (_files) 'implicit)
|
||||
(defun vc-git-update-on-retrieve-tag () nil)
|
||||
|
||||
;;; STATE-QUERYING FUNCTIONS
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
;; FUNCTION NAME STATUS
|
||||
;; BACKEND PROPERTIES
|
||||
;; * revision-granularity OK
|
||||
;; - update-on-retrieve-tag OK
|
||||
;; STATE-QUERYING FUNCTIONS
|
||||
;; * registered (file) OK
|
||||
;; * state (file) OK
|
||||
|
|
@ -194,6 +195,7 @@ highlighting the Log View buffer."
|
|||
|
||||
(defun vc-hg-revision-granularity () 'repository)
|
||||
(defun vc-hg-checkout-model (_files) 'implicit)
|
||||
(defun vc-hg-update-on-retrieve-tag () nil)
|
||||
|
||||
;;; State querying functions
|
||||
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ switches."
|
|||
|
||||
(defun vc-svn-revision-granularity () 'repository)
|
||||
(defun vc-svn-checkout-model (_files) 'implicit)
|
||||
(defun vc-svn-update-on-retrieve-tag () nil)
|
||||
|
||||
;;;
|
||||
;;; State-querying functions
|
||||
|
|
|
|||
|
|
@ -110,6 +110,12 @@
|
|||
;; that return 'file have per-file revision numbering; backends
|
||||
;; that return 'repository have per-repository revision numbering,
|
||||
;; so a revision level implicitly identifies a changeset
|
||||
;;
|
||||
;; - update-on-retrieve-tag
|
||||
;;
|
||||
;; Takes no arguments. Backends that return non-nil can update
|
||||
;; buffers on `vc-retrieve-tag' based on user input. In this case
|
||||
;; user will be prompted to update buffers on `vc-retrieve-tag'.
|
||||
|
||||
;; STATE-QUERYING FUNCTIONS
|
||||
;;
|
||||
|
|
@ -2302,14 +2308,15 @@ This function runs the hook `vc-retrieve-tag-hook' when finished."
|
|||
(vc-read-revision "Tag name to retrieve (default latest revisions): "
|
||||
(list dir)
|
||||
(vc-responsible-backend dir)))))
|
||||
(let ((update (yes-or-no-p "Update any affected buffers? "))
|
||||
(msg (if (or (not name) (string= name ""))
|
||||
(format "Updating %s... " (abbreviate-file-name dir))
|
||||
(format "Retrieving tag into %s... "
|
||||
(abbreviate-file-name dir)))))
|
||||
(let* ((backend (vc-responsible-backend dir))
|
||||
(update (when (vc-call-backend backend 'update-on-retrieve-tag)
|
||||
(yes-or-no-p "Update any affected buffers? ")))
|
||||
(msg (if (or (not name) (string= name ""))
|
||||
(format "Updating %s... " (abbreviate-file-name dir))
|
||||
(format "Retrieving tag %s into %s... "
|
||||
name (abbreviate-file-name dir)))))
|
||||
(message "%s" msg)
|
||||
(vc-call-backend (vc-responsible-backend dir)
|
||||
'retrieve-tag dir name update)
|
||||
(vc-call-backend backend 'retrieve-tag dir name update)
|
||||
(vc-resynch-buffer dir t t t)
|
||||
(run-hooks 'vc-retrieve-tag-hook)
|
||||
(message "%s" (concat msg "done"))))
|
||||
|
|
@ -3025,6 +3032,10 @@ to provide the `find-revision' operation instead."
|
|||
"Let BACKEND receive FILE from another version control system."
|
||||
(vc-call-backend backend 'register (list file) rev ""))
|
||||
|
||||
(defun vc-default-update-on-retrieve-tag ()
|
||||
"Prompt for update buffers on `vc-retrieve-tag'."
|
||||
t)
|
||||
|
||||
(defun vc-default-retrieve-tag (backend dir name update)
|
||||
(if (string= name "")
|
||||
(progn
|
||||
|
|
|
|||
Loading…
Reference in a new issue