Merge branch 'ar/fix-git-pull-no-verify'
"git pull --no-verify" did not affect the underlying "git merge". * ar/fix-git-pull-no-verify: pull: honor --no-verify and do not call the commit-msg hook
This commit is contained in:
		| @ -84,6 +84,7 @@ static char *opt_edit; | ||||
| static char *cleanup_arg; | ||||
| static char *opt_ff; | ||||
| static char *opt_verify_signatures; | ||||
| static char *opt_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, "verify", &opt_verify, NULL, | ||||
| 		N_("control use of pre-merge-commit and commit-msg hooks"), | ||||
| 		PARSE_OPT_NOARG), | ||||
| 	OPT_PASSTHRU(0, "verify-signatures", &opt_verify_signatures, NULL, | ||||
| 		N_("verify that the named commit has a valid GPG signature"), | ||||
| 		PARSE_OPT_NOARG), | ||||
| @ -675,6 +679,8 @@ static int run_merge(void) | ||||
| 		strvec_pushf(&args, "--cleanup=%s", cleanup_arg); | ||||
| 	if (opt_ff) | ||||
| 		strvec_push(&args, opt_ff); | ||||
| 	if (opt_verify) | ||||
| 		strvec_push(&args, opt_verify); | ||||
| 	if (opt_verify_signatures) | ||||
| 		strvec_push(&args, opt_verify_signatures); | ||||
| 	strvec_pushv(&args, opt_strategies.v); | ||||
|  | ||||
| @ -228,4 +228,28 @@ 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 && | ||||
| 	write_script dst/.git/hooks/commit-msg <<-\EOF && | ||||
| 	false | ||||
| 	EOF | ||||
| 	test_commit -C src two && | ||||
| 	git -C dst pull --no-ff --no-verify | ||||
| ' | ||||
|  | ||||
| test_expect_success 'git pull --no-verify --verify passed to merge' ' | ||||
| 	test_when_finished "rm -fr src dst actual" && | ||||
| 	git init src && | ||||
| 	test_commit -C src one && | ||||
| 	git clone src dst && | ||||
| 	write_script dst/.git/hooks/commit-msg <<-\EOF && | ||||
| 	false | ||||
| 	EOF | ||||
| 	test_commit -C src two && | ||||
| 	test_must_fail git -C dst pull --no-ff --no-verify --verify | ||||
| ' | ||||
|  | ||||
| test_done | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Junio C Hamano
					Junio C Hamano