summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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