All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Alex Riesen <alexander.riesen@cetitec.com>
Cc: Git List <git@vger.kernel.org>, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH] Fix "commit-msg" hook unexpectedly called for "git pull --no-verify"
Date: Tue, 26 Oct 2021 17:16:09 -0400	[thread overview]
Message-ID: <YXhwGQOTfD+ypbo8@coredump.intra.peff.net> (raw)
In-Reply-To: <YXfwanz3MynCLDmn@pflmari>

On Tue, Oct 26, 2021 at 02:11:22PM +0200, Alex Riesen wrote:

> diff --git a/builtin/pull.c b/builtin/pull.c
> index 425950f469..428baea95b 100644
> --- a/builtin/pull.c
> +++ b/builtin/pull.c
> @@ -84,6 +84,7 @@ static char *opt_edit;
>  static char *cleanup_arg;
>  static char *opt_ff;
>  static char *opt_verify_signatures;
> +static char *opt_no_verify;
>  static int opt_autostash = -1;
>  static int config_autostash;
>  static int check_trust_level = 1;
> @@ -160,6 +161,9 @@ static struct option pull_options[] = {
>  	OPT_PASSTHRU(0, "ff-only", &opt_ff, NULL,
>  		N_("abort if fast-forward is not possible"),
>  		PARSE_OPT_NOARG | PARSE_OPT_NONEG),
> +	OPT_PASSTHRU(0, "no-verify", &opt_no_verify, NULL,
> +		N_("bypass pre-merge-commit and commit-msg hooks"),
> +		PARSE_OPT_NOARG | PARSE_OPT_NONEG),
>  	OPT_PASSTHRU(0, "verify-signatures", &opt_verify_signatures, NULL,
>  		N_("verify that the named commit has a valid GPG signature"),
>  		PARSE_OPT_NOARG),

OK, so we failed to pass through --no-verify, because it got caught as a
prefix of --verify-signatures, since the outer parse-options didn't know
about it. Makes sense, and I suppose this has been broken since
11b6d17801 (pull: pass git-merge's options to git-merge, 2015-06-14).

I was going to ask whether this should be passing through "verify", and
allowing its "no-" variant, but there is no "--verify" in git-merge.
Arguably there should be (for consistency and to countermand an earlier
--no-verify), but that is outside the scope of your fix (sadly if
somebody does change that, they'll have to remember to touch this spot,
too, but I don't think it can be helped).

> +test_expect_success 'git pull --no-verify flag passed to merge' '
> +	test_when_finished "rm -fr src dst actual" &&
> +	git init src &&
> +	test_commit -C src one &&
> +	git clone src dst &&
> +	echo false >dst/.git/hooks/commit-msg &&
> +	chmod +x dst/.git/hooks/commit-msg &&

This script without #! should work portably, I think, though we
generally prefer using the helper (which also handles the chmod):

  write_script dst/.git/hooks/commit-msg <<-\EOF
  false
  EOF

Other than that nit, this looks good to me.

-Peff

  reply	other threads:[~2021-10-26 21:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-26 12:11 [PATCH] Fix "commit-msg" hook unexpectedly called for "git pull --no-verify" Alex Riesen
2021-10-26 21:16 ` Jeff King [this message]
2021-10-27  6:35   ` [PATCH v2] " Alex Riesen
2021-10-27  9:06     ` Jeff King
2021-10-27 12:09   ` [PATCH] " Alex Riesen
2021-10-27 12:19     ` Jeff King
2021-10-27 13:27       ` [PATCH] Remove negation from the merge option "--no-verify" Alex Riesen
2021-10-27 20:16         ` Junio C Hamano
2021-10-28  6:38           ` Alex Riesen
2021-10-28  8:04             ` [PATCH] Remove negation from the commit and " Alex Riesen
2021-10-28 13:57               ` Phillip Wood
2021-10-28 15:44                 ` Alex Riesen
2021-10-28 15:46                   ` [PATCH 2/2] Fix "commit-msg" hook unexpectedly called for "git pull --no-verify" Alex Riesen
2021-10-28 16:51                     ` Junio C Hamano
2021-10-28 17:16                       ` Alex Riesen
2021-10-28 19:25                         ` Junio C Hamano
2021-10-29  6:34                           ` Alex Riesen
2021-10-28 15:49                   ` [PATCH] Remove negation from the commit and merge option "--no-verify" Alex Riesen
2021-10-29 13:32                   ` Phillip Wood
2021-10-29 13:45                     ` [PATCH] Document positive variant of " Alex Riesen
2021-11-01 15:34                       ` Phillip Wood
2021-10-27 20:12   ` [PATCH] Fix "commit-msg" hook unexpectedly called for "git pull --no-verify" Junio C Hamano

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=YXhwGQOTfD+ypbo8@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=alexander.riesen@cetitec.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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.