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>
This commit is contained in:
Henning Schild 2018-07-17 14:50:07 +02:00 committed by Junio C Hamano
parent fbd0f16610
commit 57a8dd75df
2 changed files with 14 additions and 0 deletions

View File

@ -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.

View File

@ -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);