summaryrefslogtreecommitdiff
path: root/git-merge.sh
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 /git-merge.sh
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>
Diffstat (limited to 'git-merge.sh')
-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