Anonymous committed fbf8ac2

git-merge: make recursive the default strategy

git-pull invoked merge with recursive as the default strategy
for some time now; match it in the git-merge itself. Also avoid
listing more than one strategy on default because we have only
one strategy that can resolve an octopus and we are already
counting heads here. This reduces the need to stash away local

Signed-off-by: Junio C Hamano <>

Comments (0)

Files changed (1)

     die "git-merge [-n] [--no-commit] [-s <strategy>]... <merge-message> <head> <remote>+"
-# all_strategies='resolve recursive stupid octopus'
 all_strategies='recursive octopus resolve stupid ours'
-default_strategies='resolve octopus'
 dropsave() {
-case "$use_strategies" in
-	use_strategies=$default_strategies
-	;;
 test "$#" -le 2 && usage ;# we need at least two heads.
+case "$use_strategies" in
+	case "$#" in
+	1)
+		use_strategies="$default_strategies" ;;
+	*)
+		use_strategies=octopus ;;
+	esac		
+	;;
 # At this point, we need a real merge.  No matter what strategy
 # we use, it would operate on the index, possibly affecting the
 # working tree, and when resolved cleanly, have the desired tree