summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-24 00:23:11 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-11-24 00:23:11 (GMT)
commitfbf8ac212caa74fc506434da83f8e9630b09ed12 (patch)
tree83c073bf924e3d478c98d65b112467c0ae21157b
parentb99a394cd1e7042ad219046a6ea81ad3f93004ca (diff)
downloadgit-fbf8ac212caa74fc506434da83f8e9630b09ed12.zip
git-fbf8ac212caa74fc506434da83f8e9630b09ed12.tar.gz
git-fbf8ac212caa74fc506434da83f8e9630b09ed12.tar.bz2
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 7f481e4..255476e 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