Subject: Re: What's cooking in git.git (Dec 2013, #03; Thu, 12)

From: Nicolas Vigier <[email-masked]>
Date: Mon, 16 Dec 2013 13:30:40 +0100

On Sun, 15 Dec 2013, Junio C Hamano wrote:

> Junio C Hamano <[email-masked]> writes:
> 
> > [Stalled]
> >
> > * nv/commit-gpgsign-config (2013-11-06) 1 commit
> >  - Add the commit.gpgsign option to sign all commits
> >
> >  Introduce commit.gpgsign configuration variable to force every
> >  commit to be GPG signed.
> >
> >  Needs tests, perhaps?

Ok, I'll add some tests.

> 
> Besides, we would need at least something like this to make sure
> that people have a way to selectively disable configured default
> when necessary, perhaps like this.

This looks like a good idea.

> 
> -- >8 --
> Subject: [PATCH] commit-tree: add and document --no-gpg-sign
> 
> Document how to override commit.gpgsign configuration that is set to
> true per "git commit" invocation (parse-options machinery lets us
> say "--no-gpg-sign" to do so).
> 
> "git commit-tree" does not use parse-options, so manually add the
> corresponding option for now.
> 
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
>  Documentation/git-commit-tree.txt | 5 +++++
>  Documentation/git-commit.txt      | 4 ++++
>  builtin/commit-tree.c             | 5 +++++
>  3 files changed, 14 insertions(+)
> 
> diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt
> index cafdc96..a469eab 100644
> --- a/Documentation/git-commit-tree.txt
> +++ b/Documentation/git-commit-tree.txt
> @@ -55,8 +55,13 @@ OPTIONS
>  	from the standard input.
>  
>  -S[<keyid>]::
> +--gpg-sign[=<keyid>]::
>  	GPG-sign commit.

Looking at the code, commit-tree does not currently support the
"--gpg-sign=" option, only the short one -S.

If we want to add it for consistency with the --no-gpg-sign option, it
can be added with this change :

diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index 1646d5b25e4f..b380d486c89a 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -71,6 +71,11 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
 			continue;
 		}
 
+		if (!memcmp(arg, "--gpg-sign=", 11)) {
+			sign_commit = arg + 11;
+			continue;
+		}
+
 		if (!strcmp(arg, "-m")) {
 			if (argc <= ++i)
 				usage(commit_tree_usage);