summaryrefslogtreecommitdiff
path: root/git-merge.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-08-28 03:18:58 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-08-28 03:33:46 (GMT)
commit1e49cb8ad44cfb926b719061fa41f42e62291560 (patch)
tree97fd2f10f3bccb9d3b47de025f48ad15cfa2e922 /git-merge.sh
parentd5d0a0e748025bf253db5f0cde7b22cb0feeced2 (diff)
parenteed94a570e0421175d6b4342c0ac48e03ceedf0b (diff)
downloadgit-1e49cb8ad44cfb926b719061fa41f42e62291560.zip
git-1e49cb8ad44cfb926b719061fa41f42e62291560.tar.gz
git-1e49cb8ad44cfb926b719061fa41f42e62291560.tar.bz2
Merge branch 'js/c-merge-recursive'
* js/c-merge-recursive: (21 commits) discard_cache(): discard index, even if no file was mmap()ed merge-recur: do not die unnecessarily merge-recur: try to merge older merge bases first merge-recur: if there is no common ancestor, fake empty one merge-recur: do not setenv("GIT_INDEX_FILE") merge-recur: do not call git-write-tree merge-recursive: fix rename handling .gitignore: git-merge-recur is a built file. merge-recur: virtual commits shall never be parsed merge-recur: use the unpack_trees() interface instead of exec()ing read-tree merge-recur: fix thinko in unique_path() Makefile: git-merge-recur depends on xdiff libraries. merge-recur: Explain why sha_eq() and struct stage_data cannot go merge-recur: Cleanup last mixedCase variables... merge-recur: Fix compiler warning with -pedantic merge-recur: Remove dead code merge-recur: Get rid of debug code merge-recur: Convert variable names to lower_case Cumulative update of merge-recursive in C recur vs recursive: help testing without touching too many stuff. ... This is an evil merge that removes TEST script from the toplevel.
Diffstat (limited to 'git-merge.sh')
-rwxr-xr-xgit-merge.sh15
1 files changed, 12 insertions, 3 deletions
diff --git a/git-merge.sh b/git-merge.sh
index a9cfafb..d049e16 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -9,15 +9,20 @@ USAGE='[-n] [--no-commit] [--squash] [-s <strategy>]... <merge-message> <head> <
LF='
'
-all_strategies='recursive octopus resolve stupid ours'
-default_twohead_strategies='recursive'
+all_strategies='recursive recur octopus resolve stupid ours'
+case "${GIT_USE_RECUR_FOR_RECURSIVE}" in
+'')
+ default_twohead_strategies=recursive ;;
+?*)
+ default_twohead_strategies=recur ;;
+esac
default_octopus_strategies='octopus'
no_trivial_merge_strategies='ours'
use_strategies=
index_merge=t
if test "@@NO_PYTHON@@"; then
- all_strategies='resolve octopus stupid ours'
+ all_strategies='recur resolve octopus stupid ours'
default_twohead_strategies='resolve'
fi
@@ -117,6 +122,10 @@ do
strategy="$2"
shift ;;
esac
+ case "$strategy,${GIT_USE_RECUR_FOR_RECURSIVE}" in
+ recursive,?*)
+ strategy=recur ;;
+ esac
case " $all_strategies " in
*" $strategy "*)
use_strategies="$use_strategies$strategy " ;;