From: Junio C Hamano <gitster@pobox.com>
To: Nicolas Vigier <boklm@mars-attacks.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Add the commit.gpgsign option to sign all commits
Date: Mon, 04 Nov 2013 15:43:37 -0800 [thread overview]
Message-ID: <xmqqppqfag2e.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1383606881-2979-1-git-send-email-boklm@mars-attacks.org> (Nicolas Vigier's message of "Tue, 5 Nov 2013 00:14:41 +0100")
Nicolas Vigier <boklm@mars-attacks.org> writes:
> If you want to GPG sign all your commits, you have to add the -S option
> all the time. The commit.gpgsign config option allows to sign all
> commits automatically.
I'm somewhat horrified to imagine the end-user experience this
"feature" adds to the system; if one sets htis configuration and
then runs "git rebase" or anything that internally creates or
recreates commits, does one have to sign each and every commit, even
if such a rebase was done merely as a trial run to see if a topic
can be rebased to an older codebase, or something?
>
> Signed-off-by: Nicolas Vigier <boklm@mars-attacks.org>
> ---
> Documentation/config.txt | 3 +++
> builtin/commit-tree.c | 7 ++++++-
> builtin/commit.c | 4 ++++
> builtin/merge.c | 3 +++
> 4 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index ab26963d6187..4cfa557375a2 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -988,6 +988,9 @@ commit.cleanup::
> have to remove the help lines that begin with `#` in the commit log
> template yourself, if you do this).
>
> +commit.gpgsign::
> + A boolean to specify whether all commits should be GPG signed.
> +
> commit.status::
> A boolean to enable/disable inclusion of status information in the
> commit message template when using an editor to prepare the commit
> diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
> index f641ff2a898c..1646d5b25e4f 100644
> --- a/builtin/commit-tree.c
> +++ b/builtin/commit-tree.c
> @@ -12,6 +12,8 @@
>
> static const char commit_tree_usage[] = "git commit-tree [(-p <sha1>)...] [-S[<keyid>]] [-m <message>] [-F <file>] <sha1> <changelog";
>
> +static const char *sign_commit;
> +
> static void new_parent(struct commit *parent, struct commit_list **parents_p)
> {
> unsigned char *sha1 = parent->object.sha1;
> @@ -31,6 +33,10 @@ static int commit_tree_config(const char *var, const char *value, void *cb)
> int status = git_gpg_config(var, value, NULL);
> if (status)
> return status;
> + if (!strcmp(var, "commit.gpgsign")) {
> + sign_commit = git_config_bool(var, value) ? "" : NULL;
> + return 0;
> + }
> return git_default_config(var, value, cb);
> }
>
> @@ -41,7 +47,6 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
> unsigned char tree_sha1[20];
> unsigned char commit_sha1[20];
> struct strbuf buffer = STRBUF_INIT;
> - const char *sign_commit = NULL;
>
> git_config(commit_tree_config, NULL);
>
> diff --git a/builtin/commit.c b/builtin/commit.c
> index 6ab4605cf5c2..cffddf210807 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -1406,6 +1406,10 @@ static int git_commit_config(const char *k, const char *v, void *cb)
> }
> if (!strcmp(k, "commit.cleanup"))
> return git_config_string(&cleanup_arg, k, v);
> + if (!strcmp(k, "commit.gpgsign")) {
> + sign_commit = git_config_bool(k, v) ? "" : NULL;
> + return 0;
> + }
>
> status = git_gpg_config(k, v, NULL);
> if (status)
> diff --git a/builtin/merge.c b/builtin/merge.c
> index 02a69c14e6ab..fea27244557d 100644
> --- a/builtin/merge.c
> +++ b/builtin/merge.c
> @@ -604,6 +604,9 @@ static int git_merge_config(const char *k, const char *v, void *cb)
> } else if (!strcmp(k, "merge.defaulttoupstream")) {
> default_to_upstream = git_config_bool(k, v);
> return 0;
> + } else if (!strcmp(k, "commit.gpgsign")) {
> + sign_commit = git_config_bool(k, v) ? "" : NULL;
> + return 0;
> }
>
> status = fmt_merge_msg_config(k, v, cb);
next prev parent reply other threads:[~2013-11-04 23:43 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-04 23:14 [PATCH] Add the commit.gpgsign option to sign all commits Nicolas Vigier
2013-11-04 23:43 ` Junio C Hamano [this message]
2013-11-05 0:03 ` Nicolas Vigier
2013-11-05 0:03 ` brian m. carlson
2013-11-05 11:28 ` Nicolas Vigier
2013-11-05 19:10 ` Junio C Hamano
2013-11-06 19:27 ` Nicolas Vigier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqppqfag2e.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=boklm@mars-attacks.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.