Browse Source

Merge branch 'pt/pull-ff-vs-merge-ff' into maint

The pull.ff configuration was supposed to override the merge.ff
configuration, but it didn't.

* pt/pull-ff-vs-merge-ff:
  pull: parse pull.ff as a bool or string
  pull: make pull.ff=true override merge.ff
maint
Junio C Hamano 10 years ago
parent
commit
7e46f27fa6
  1. 2
      Documentation/config.txt
  2. 5
      git-pull.sh
  3. 8
      t/t7601-merge-pull-config.sh

2
Documentation/config.txt

@ -2033,7 +2033,7 @@ pull.ff:: @@ -2033,7 +2033,7 @@ pull.ff::
a case (equivalent to giving the `--no-ff` option from the command
line). When set to `only`, only such fast-forward merges are
allowed (equivalent to giving the `--ff-only` option from the
command line).
command line). This setting overrides `merge.ff` when pulling.

pull.rebase::
When true, rebase branches on top of the fetched branch, instead

5
git-pull.sh

@ -54,8 +54,11 @@ then @@ -54,8 +54,11 @@ then
fi

# Setup default fast-forward options via `pull.ff`
pull_ff=$(git config pull.ff)
pull_ff=$(bool_or_string_config pull.ff)
case "$pull_ff" in
true)
no_ff=--ff
;;
false)
no_ff=--no-ff
;;

8
t/t7601-merge-pull-config.sh

@ -45,6 +45,14 @@ test_expect_success 'fast-forward pull succeeds with "true" in pull.ff' ' @@ -45,6 +45,14 @@ test_expect_success 'fast-forward pull succeeds with "true" in pull.ff' '
test "$(git rev-parse HEAD)" = "$(git rev-parse c1)"
'

test_expect_success 'pull.ff=true overrides merge.ff=false' '
git reset --hard c0 &&
test_config merge.ff false &&
test_config pull.ff true &&
git pull . c1 &&
test "$(git rev-parse HEAD)" = "$(git rev-parse c1)"
'

test_expect_success 'fast-forward pull creates merge with "false" in pull.ff' '
git reset --hard c0 &&
test_config pull.ff false &&

Loading…
Cancel
Save