aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Schild <henning.schild@siemens.com>2018-07-17 14:50:07 +0200
committerJunio C Hamano <gitster@pobox.com>2018-07-17 12:14:11 -0700
commit57a8dd75df4e1d716d60fc95bd0acaab45465d68 (patch)
tree211985bdf76c20b13d6fc698949fdb9a00e77ad1
parentfbd0f16610362fda5d2093a590a80d693f610594 (diff)
downloadgit-57a8dd75df4e1d716d60fc95bd0acaab45465d68.tar.gz
gpg-interface: add new config to select how to sign a commit
Add "gpg.format" where the user can specify which type of signature to use for commits. At the moment only "openpgp" is supported and the value is not even used. This commit prepares for a new types of signatures. Signed-off-by: Henning Schild <henning.schild@siemens.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/config.txt4
-rw-r--r--gpg-interface.c10
2 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 1cc18a828c..ac373e3f48 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1828,6 +1828,10 @@ gpg.program::
signed, and the program is expected to send the result to its
standard output.
+gpg.format::
+ Specifies which key format to use when signing with `--gpg-sign`.
+ Default is "openpgp", that is also the only supported value.
+
gui.commitMsgWidth::
Defines how wide the commit message window is in the
linkgit:git-gui[1]. "75" is the default.
diff --git a/gpg-interface.c b/gpg-interface.c
index 09ddfbc267..b39a27980b 100644
--- a/gpg-interface.c
+++ b/gpg-interface.c
@@ -7,6 +7,7 @@
#include "tempfile.h"
static char *configured_signing_key;
+static const char *gpg_format = "openpgp";
static const char *gpg_program = "gpg";
#define PGP_SIGNATURE "-----BEGIN PGP SIGNATURE-----"
@@ -138,6 +139,15 @@ int git_gpg_config(const char *var, const char *value, void *cb)
return 0;
}
+ if (!strcmp(var, "gpg.format")) {
+ if (!value)
+ return config_error_nonbool(var);
+ if (strcmp(value, "openpgp"))
+ return error("unsupported value for %s: %s",
+ var, value);
+ return git_config_string(&gpg_format, var, value);
+ }
+
if (!strcmp(var, "gpg.program")) {
if (!value)
return config_error_nonbool(var);