summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorAndrii Kolomoiets <andreyk.mad@gmail.com>2020-08-09 14:30:55 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-08-09 14:30:55 +0200
commitc789c3aac66943497f771896ec13bae618f86a01 (patch)
treee9e1d49183c1448b103f67e82583b9629b04cee3 /lisp
parent2ed502d2a76e93ecd5366a6ec3926894e4fbe827 (diff)
downloademacs-c789c3aac66943497f771896ec13bae618f86a01.tar.gz
vc-hg-create-tag: Possibility to create a branch
* lisp/vc/vc-hg.el (vc-hg-create-bookmark): New user option. (vc-hg-create-tag): Use it (bug#38425).
Diffstat (limited to 'lisp')
-rw-r--r--lisp/vc/vc-hg.el24
1 files changed, 21 insertions, 3 deletions
diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index 95ced7b8d09..09f804357e0 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -186,6 +186,16 @@ highlighting the Log View buffer."
:group 'vc-hg
:version "24.5")
+(defcustom vc-hg-create-bookmark t
+ "This controls whether `vc-create-tag' will create a bookmark or branch.
+If nil, named branch will be created.
+If t, bookmark will be created.
+If `ask', you will be prompted for a branch type."
+ :type '(choice (const :tag "No" nil)
+ (const :tag "Yes" t)
+ (const :tag "Ask" ask))
+ :version "28.1")
+
;; Clear up the cache to force vc-call to check again and discover
;; new functions when we reload this file.
@@ -625,10 +635,18 @@ Optional arg REVISION is a revision to annotate from."
;;; Tag system
(defun vc-hg-create-tag (dir name branchp)
- "Attach the tag NAME to the state of the working copy."
+ "Create tag NAME in repo in DIR. Create branch if BRANCHP.
+Variable `vc-hg-create-bookmark' controls what kind of branch will be created."
(let ((default-directory dir))
- (and (vc-hg-command nil 0 nil "status")
- (vc-hg-command nil 0 nil (if branchp "bookmark" "tag") name))))
+ (vc-hg-command nil 0 nil
+ (if branchp
+ (if (if (eq vc-hg-create-bookmark 'ask)
+ (yes-or-no-p "Create bookmark instead of branch? ")
+ vc-hg-create-bookmark)
+ "bookmark"
+ "branch")
+ "tag")
+ name)))
(defun vc-hg-retrieve-tag (dir name _update)
"Retrieve the version tagged by NAME of all registered files at or below DIR."