Merge branch 'pt/pull-ff-vs-merge-ff'
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
This commit is contained in:
commit
22a1ae6ef2
@ -2061,7 +2061,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
|
||||
|
@ -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
|
||||
;;
|
||||
|
@ -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…
Reference in New Issue
Block a user