Subject: Re: [PATCH v3] contrib/rerere-train: avoid useless gpg sign in training

From: Junio C Hamano <[email-masked]>
Date: Tue, 19 Jul 2022 11:23:50 -0700

Celeste Liu <[email-masked]> writes:

> Users may have configured "git merge" to always require GPG
> signing the resulting commits. We are not running "git merge" to
> re-create merge commits, but merely to replay merge conflicts,
> and we will immediately discard the resulting commits; there
> is no point in signing them.
>
> Override such configuration that forces useless signing from the
> command line with the "--no-gpg-sign" option.
>
> Signed-off-by: Celeste Liu <[email-masked]>
> ---
> v2: add problem detail in commit message.
> v3: more detailed reason

Makes sense.

Not a suggestion to change anything, but another possibility may be
to run the command with the --no-commit option, perhaps.  If we ever
gained more features added a knob to enable it by default, we would
need to add --no-that-feature as well to refuse it, just like we are
doing so for GPG here, and telling the command that there is no need
to make a commit could turn out to be an easier way to do so for all
extra features that will be invented in the future.

Thanks.  Will queue.

>
>  contrib/rerere-train.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/contrib/rerere-train.sh b/contrib/rerere-train.sh
> index 26b724c8c6..bd01e430ef 100755
> --- a/contrib/rerere-train.sh
> +++ b/contrib/rerere-train.sh
> @@ -75,7 +75,7 @@ do
>  		continue
>  	fi
>  	git checkout -q "$parent1^0"
> -	if git merge $other_parents >/dev/null 2>&1
> +	if git merge --no-gpg-sign $other_parents >/dev/null 2>&1
>  	then
>  		# Cleanly merges
>  		continue