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