diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-06-05 12:00:23 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-06-05 12:00:23 -0700 |
commit | 7e46f27fa627c0f9f6f547bef53e5aa2de52dec5 (patch) | |
tree | f34a803234c9560ed7e28f3459c948cd11b3f01b | |
parent | 06629901444888e5fa491c5f5f24ff03686af9a9 (diff) | |
parent | db9bb280ed7df7858a2de5d1d0334114dd837be0 (diff) | |
download | git-7e46f27fa627c0f9f6f547bef53e5aa2de52dec5.tar.gz git-7e46f27fa627c0f9f6f547bef53e5aa2de52dec5.tar.xz |
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
-rw-r--r-- | Documentation/config.txt | 2 | ||||
-rwxr-xr-x | git-pull.sh | 5 | ||||
-rwxr-xr-x | t/t7601-merge-pull-config.sh | 8 |
3 files changed, 13 insertions, 2 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index 9ccabb4a6..f4fb31a08 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -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 diff --git a/git-pull.sh b/git-pull.sh index 4d4fc77b0..09f6beabd 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -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 ;; diff --git a/t/t7601-merge-pull-config.sh b/t/t7601-merge-pull-config.sh index f768c900a..c6c44ec57 100755 --- a/t/t7601-merge-pull-config.sh +++ b/t/t7601-merge-pull-config.sh @@ -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 && |