From eb8dc05c3d364174a6b694e2850ffd6cfe32c6d3 Mon Sep 17 00:00:00 2001 From: Paul Tan Date: Mon, 18 May 2015 21:45:41 +0800 Subject: pull: make pull.ff=true override merge.ff Since b814da8 (pull: add pull.ff configuration, 2014-01-15), running git-pull with the configuration pull.ff=false or pull.ff=only is equivalent to passing --no-ff and --ff-only to git-merge. However, if pull.ff=true, no switch is passed to git-merge. This leads to the confusing behavior where pull.ff=false or pull.ff=only is able to override merge.ff, while pull.ff=true is unable to. Fix this by adding the --ff switch if pull.ff=true, and add a test to catch future regressions. Furthermore, clarify in the documentation that pull.ff overrides merge.ff. Signed-off-by: Paul Tan Reviewed-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- git-pull.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'git-pull.sh') diff --git a/git-pull.sh b/git-pull.sh index 4d4fc77b05..2aea4fa38a 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -56,6 +56,9 @@ fi # Setup default fast-forward options via `pull.ff` pull_ff=$(git config pull.ff) case "$pull_ff" in +true) + no_ff=--ff + ;; false) no_ff=--no-ff ;; -- cgit v1.2.3