fixup! builtin rebase: support `--gpg-sign` option
diff mbox series

Message ID xmqqzhvlgref.fsf@gitster-ct.c.googlers.com
State New
Headers show
Series
  • fixup! builtin rebase: support `--gpg-sign` option
Related show

Commit Message

Junio C Hamano Oct. 11, 2018, 2:15 a.m. UTC
From: Johannes Schindelin <johannes.schindelin@gmx.de>
Date: Thu, 27 Sep 2018 14:48:17 +0200

The `--gpg-sign` option takes an *optional* argument, not a mandatory
one.

This was discovered as part of the investigation of
https://github.com/git-for-windows/git/issues/1836.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---

 * I am sending this out as I want to mimize the number of
   non-trivial changes that come into my tree without hitting the
   list archive.

 builtin/rebase.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Junio C Hamano Oct. 11, 2018, 2:17 a.m. UTC | #1
Junio C Hamano <gitster@pobox.com> writes:

> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> Date: Thu, 27 Sep 2018 14:48:17 +0200
>
> The `--gpg-sign` option takes an *optional* argument, not a mandatory
> one.
>
> This was discovered as part of the investigation of
> https://github.com/git-for-windows/git/issues/1836.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>
>  * I am sending this out as I want to mimize the number of
>    non-trivial changes that come into my tree without hitting the
>    list archive.
>
>  builtin/rebase.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index a28bfbd62f..43bc6f7915 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -1030,8 +1030,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>  		OPT_BOOL(0, "autosquash", &options.autosquash,
>  			 N_("move commits that begin with "
>  			    "squash!/fixup! under -i")),
> -		OPT_STRING('S', "gpg-sign", &gpg_sign,
> -			   N_("gpg-sign?"), N_("GPG-sign commits")),
> +		{ OPTION_STRING, 'S', "gpg-sign", &gpg_sign, N_("key-id"),
> +			N_("GPG-sign commits"),
> +			PARSE_OPT_OPTARG, NULL, (intptr_t) "" },

This allows "--gpg-sign" in addition to "--gpg-sign=ARG" and stores
an empty string in place of ARG when accepting the option without
arg.  

The result in gpg_sign is used by checking if the pointer is
non-NULL and formatted with xstrfmt("-S%s", gpg_sign).

The change looks correct; will squash into what has been queued on
'pu'.

Thanks.

>  		OPT_STRING_LIST(0, "whitespace", &whitespace,
>  				N_("whitespace"), N_("passed to 'git apply'")),
>  		OPT_SET_INT('C', 0, &opt_c, N_("passed to 'git apply'"),
Johannes Schindelin Oct. 12, 2018, 9:38 a.m. UTC | #2
Hi Junio,

On Thu, 11 Oct 2018, Junio C Hamano wrote:

> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> Date: Thu, 27 Sep 2018 14:48:17 +0200
> 
> The `--gpg-sign` option takes an *optional* argument, not a mandatory
> one.
> 
> This was discovered as part of the investigation of
> https://github.com/git-for-windows/git/issues/1836.
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> 
>  * I am sending this out as I want to mimize the number of
>    non-trivial changes that come into my tree without hitting the
>    list archive.

Thanks, *much* appreciated.

Ciao,
Dscho

> 
>  builtin/rebase.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/builtin/rebase.c b/builtin/rebase.c
> index a28bfbd62f..43bc6f7915 100644
> --- a/builtin/rebase.c
> +++ b/builtin/rebase.c
> @@ -1030,8 +1030,9 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
>  		OPT_BOOL(0, "autosquash", &options.autosquash,
>  			 N_("move commits that begin with "
>  			    "squash!/fixup! under -i")),
> -		OPT_STRING('S', "gpg-sign", &gpg_sign,
> -			   N_("gpg-sign?"), N_("GPG-sign commits")),
> +		{ OPTION_STRING, 'S', "gpg-sign", &gpg_sign, N_("key-id"),
> +			N_("GPG-sign commits"),
> +			PARSE_OPT_OPTARG, NULL, (intptr_t) "" },
>  		OPT_STRING_LIST(0, "whitespace", &whitespace,
>  				N_("whitespace"), N_("passed to 'git apply'")),
>  		OPT_SET_INT('C', 0, &opt_c, N_("passed to 'git apply'"),
> -- 
> 2.19.1-328-g5a0cc8aca7
> 
>

Patch
diff mbox series

diff --git a/builtin/rebase.c b/builtin/rebase.c
index a28bfbd62f..43bc6f7915 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1030,8 +1030,9 @@  int cmd_rebase(int argc, const char **argv, const char *prefix)
 		OPT_BOOL(0, "autosquash", &options.autosquash,
 			 N_("move commits that begin with "
 			    "squash!/fixup! under -i")),
-		OPT_STRING('S', "gpg-sign", &gpg_sign,
-			   N_("gpg-sign?"), N_("GPG-sign commits")),
+		{ OPTION_STRING, 'S', "gpg-sign", &gpg_sign, N_("key-id"),
+			N_("GPG-sign commits"),
+			PARSE_OPT_OPTARG, NULL, (intptr_t) "" },
 		OPT_STRING_LIST(0, "whitespace", &whitespace,
 				N_("whitespace"), N_("passed to 'git apply'")),
 		OPT_SET_INT('C', 0, &opt_c, N_("passed to 'git apply'"),