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:
commit
a876f0b95c
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user