git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH] Fix "commit-msg" hook unexpectedly called for "git pull --no-verify"
@ 2021-10-26 12:11 Alex Riesen
  2021-10-26 21:16 ` Jeff King
  0 siblings, 1 reply; 22+ messages in thread
From: Alex Riesen @ 2021-10-26 12:11 UTC (permalink / raw)
  To: Git List; +Cc: Junio C Hamano, Jeff King

The option is incorrectly translated to "--no-verify-signatures",
which causes the unexpected effect of the hook being called.
And an even more unexpected effect of disabling verification
of signatures.

The manual page describes the option to behave same as the similarly
named option of "git merge", which seems to be the original intention
of this option in the "pull" command.

Signed-off-by: Alexander Riesen <raa.lkml@gmail.com>
---
 builtin/pull.c          |  6 ++++++
 t/t5521-pull-options.sh | 11 +++++++++++
 2 files changed, 17 insertions(+)

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),
@@ -688,6 +692,8 @@ static int run_merge(void)
 		strvec_pushf(&args, "--cleanup=%s", cleanup_arg);
 	if (opt_ff)
 		strvec_push(&args, opt_ff);
+	if (opt_no_verify)
+		strvec_push(&args, opt_no_verify);
 	if (opt_verify_signatures)
 		strvec_push(&args, opt_verify_signatures);
 	strvec_pushv(&args, opt_strategies.v);
diff --git a/t/t5521-pull-options.sh b/t/t5521-pull-options.sh
index db1a381cd9..0eb1916175 100755
--- a/t/t5521-pull-options.sh
+++ b/t/t5521-pull-options.sh
@@ -225,4 +225,15 @@ test_expect_success 'git pull --no-signoff flag cancels --signoff flag' '
 	test_must_be_empty actual
 '
 
+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 &&
+	test_commit -C src two &&
+	git -C dst pull --no-ff --no-verify
+'
+
 test_done
-- 
2.31.0.30.g60a470ee5c


^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-11-01 15:35 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).