Merge branch 'ah/pull'

Earlier we taught "git pull" to warn when the user does not say the
histories need to be merged, rebased or accepts only fast-
forwarding, but the warning triggered for those who have set the
pull.ff configuration variable.

* ah/pull:
  pull: don't warn if pull.ff has been set
This commit is contained in:
Junio C Hamano 2020-09-29 14:01:22 -07:00
commit 299deeac8a
2 changed files with 21 additions and 3 deletions

View File

@ -344,8 +344,7 @@ static enum rebase_type config_get_rebase(void)
if (!git_config_get_value("pull.rebase", &value)) if (!git_config_get_value("pull.rebase", &value))
return parse_config_rebase("pull.rebase", value, 1); return parse_config_rebase("pull.rebase", value, 1);
if (opt_verbosity >= 0 && if (opt_verbosity >= 0 && !opt_ff) {
(!opt_ff || strcmp(opt_ff, "--ff-only"))) {
warning(_("Pulling without specifying how to reconcile divergent branches is\n" warning(_("Pulling without specifying how to reconcile divergent branches is\n"
"discouraged. You can squelch this message by running one of the following\n" "discouraged. You can squelch this message by running one of the following\n"
"commands sometime before your next pull:\n" "commands sometime before your next pull:\n"

View File

@ -33,11 +33,18 @@ test_expect_success 'pull.rebase not set' '
test_i18ngrep "Pulling without specifying how to reconcile" err test_i18ngrep "Pulling without specifying how to reconcile" err
' '
test_expect_success 'pull.rebase not set and pull.ff=true' '
git reset --hard c0 &&
test_config pull.ff true &&
git pull . c1 2>err &&
test_i18ngrep ! "Pulling without specifying how to reconcile" err
'
test_expect_success 'pull.rebase not set and pull.ff=false' ' test_expect_success 'pull.rebase not set and pull.ff=false' '
git reset --hard c0 && git reset --hard c0 &&
test_config pull.ff false && test_config pull.ff false &&
git pull . c1 2>err && git pull . c1 2>err &&
test_i18ngrep "Pulling without specifying how to reconcile" err test_i18ngrep ! "Pulling without specifying how to reconcile" err
' '
test_expect_success 'pull.rebase not set and pull.ff=only' ' test_expect_success 'pull.rebase not set and pull.ff=only' '
@ -59,6 +66,18 @@ test_expect_success 'pull.rebase not set and --no-rebase given' '
test_i18ngrep ! "Pulling without specifying how to reconcile" err test_i18ngrep ! "Pulling without specifying how to reconcile" err
' '
test_expect_success 'pull.rebase not set and --ff given' '
git reset --hard c0 &&
git pull --ff . c1 2>err &&
test_i18ngrep ! "Pulling without specifying how to reconcile" err
'
test_expect_success 'pull.rebase not set and --no-ff given' '
git reset --hard c0 &&
git pull --no-ff . c1 2>err &&
test_i18ngrep ! "Pulling without specifying how to reconcile" err
'
test_expect_success 'pull.rebase not set and --ff-only given' ' test_expect_success 'pull.rebase not set and --ff-only given' '
git reset --hard c0 && git reset --hard c0 &&
git pull --ff-only . c1 2>err && git pull --ff-only . c1 2>err &&