]> git.ipfire.org Git - thirdparty/git.git/commitdiff
gpg-interface: add new config to select how to sign a commit
authorHenning Schild <henning.schild@siemens.com>
Tue, 17 Jul 2018 12:50:07 +0000 (14:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 Jul 2018 19:14:11 +0000 (12:14 -0700)
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>
Documentation/config.txt
gpg-interface.c

index 1cc18a828ca63bc489726dc3f1489a5e5e5c8b2b..ac373e3f4806e00efe48b743542f840d16804b40 100644 (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.
index 09ddfbc267e3bee3edf54e0166d92c1e6e6d331c..b39a27980b536b8176a8c4dbdb2c610bfa9aa455 100644 (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);