aboutsummaryrefslogtreecommitdiff
path: root/lisp/magit-commit.el
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2021-02-06 13:37:24 +0100
committerJonas Bernoulli <jonas@bernoul.li>2021-02-06 13:37:24 +0100
commitdfadfd876d59cc8294fa938bd0439229b773fcd4 (patch)
tree1032eb8ba8a85d72018cdb24a97e4c8fe456960e /lisp/magit-commit.el
parent386909763852dac368541fe9d220707124bff99e (diff)
magit-read-gpg-signing-key: New function
Diffstat (limited to 'lisp/magit-commit.el')
-rw-r--r--lisp/magit-commit.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/magit-commit.el b/lisp/magit-commit.el
index 365e3a3..028c3bf 100644
--- a/lisp/magit-commit.el
+++ b/lisp/magit-commit.el
@@ -144,7 +144,7 @@ Also see `git-commit-post-finish-hook'."
:shortarg "-S"
:argument "--gpg-sign="
:allow-empty t
- :reader 'magit-read-gpg-secret-key)
+ :reader 'magit-read-gpg-signing-key)
(defvar magit-gpg-secret-key-hist nil)
@@ -176,6 +176,14 @@ Also see `git-commit-post-finish-hook'."
(set-text-properties 0 (length choice) nil choice)
choice))
+(defun magit-read-gpg-signing-key (prompt &optional initial-input history)
+ (magit-read-gpg-secret-key
+ prompt initial-input history
+ (lambda (cert)
+ (cl-some (lambda (key)
+ (memq 'sign (epg-sub-key-capability key)))
+ (epg-key-sub-key-list cert)))))
+
(transient-define-argument magit-commit:--reuse-message ()
:description "Reuse commit message"
:class 'transient-option