Merge branch 'pt/pull-ff-vs-merge-ff'
authorJunio C Hamano <gitster@pobox.com>
Tue, 26 May 2015 20:24:43 +0000 (13:24 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 26 May 2015 20:24:44 +0000 (13:24 -0700)
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

Documentation/config.txt
git-pull.sh
t/t7601-merge-pull-config.sh
index 0f668bbe11a5b439fca53ca7aa52a43782e30b79..5f76e8cf4e5251d4bd414f9739247c752366070d 100644 (file)
@@ -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
index b8ae0059208f654a888e3a98ce27fc97c422a2af..0917d0d056573912df60afd7b556efe04eeebae8 100755 (executable)
@@ -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
        ;;
index f768c900abd1cddc6d69a1bdeae897374e7d0dad..c6c44ec570dac66ca9a800ac687280cd3597e886 100755 (executable)
@@ -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 &&