summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-23 16:23:11 -0800
committerJunio C Hamano <junkio@cox.net>2005-11-23 16:23:11 -0800
commitfbf8ac212caa74fc506434da83f8e9630b09ed12 (patch)
tree83c073bf924e3d478c98d65b112467c0ae21157b
parentb99a394cd1e7042ad219046a6ea81ad3f93004ca (diff)
downloadgit-fbf8ac212caa74fc506434da83f8e9630b09ed12.tar.gz
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 modifications. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-merge.sh20
1 files changed, 12 insertions, 8 deletions
diff --git a/git-merge.sh b/git-merge.sh
index 7f481e4caa..255476e2de 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -12,10 +12,8 @@ usage () {
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'
+default_strategies='recursive'
use_strategies=
dropsave() {
@@ -90,11 +88,6 @@ do
shift
done
-case "$use_strategies" in
-'')
- use_strategies=$default_strategies
- ;;
-esac
test "$#" -le 2 && usage ;# we need at least two heads.
merge_msg="$1"
@@ -185,6 +178,17 @@ case "$#,$common,$no_commit" in
;;
esac
+case "$use_strategies" in
+'')
+ case "$#" in
+ 1)
+ use_strategies="$default_strategies" ;;
+ *)
+ use_strategies=octopus ;;
+ esac
+ ;;
+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