diff options
author | Junio C Hamano <junkio@cox.net> | 2005-09-10 17:56:19 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-09-10 18:30:41 -0700 |
commit | 2276aa6c098a0337bc2bec49742e332bdd1b802c (patch) | |
tree | bc43b357a46843c2efa0d1e3b4f55fe667b09824 /git-merge-resolve.sh | |
parent | 91063bbc6c4187184e94ebc4ab2b807e6d53cd0a (diff) | |
download | git-2276aa6c098a0337bc2bec49742e332bdd1b802c.tar.gz git-2276aa6c098a0337bc2bec49742e332bdd1b802c.tar.xz |
Use Daniel's read-tree in the merge strategy 'resolve'.
And rename the one Linus kept calling stupid, 'stupid'.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-merge-resolve.sh')
-rwxr-xr-x | git-merge-resolve.sh | 38 |
1 files changed, 3 insertions, 35 deletions
diff --git a/git-merge-resolve.sh b/git-merge-resolve.sh index f0a19b4c8..e3b04a0e9 100755 --- a/git-merge-resolve.sh +++ b/git-merge-resolve.sh @@ -1,8 +1,9 @@ #!/bin/sh # # Copyright (c) 2005 Linus Torvalds +# Copyright (c) 2005 Junio C Hamano # -# Resolve two trees. +# Resolve two trees, using enhancd multi-base read-tree. # The first parameters up to -- are merge bases; the rest are heads. bases= head= remotes= sep_seen= @@ -30,41 +31,8 @@ case "$remotes" in exit 2 ;; esac -# Find an optimum merge base if there are more than one candidates. -case "$bases" in -?*' '?*) - echo "Trying to find the optimum merge base." - G=.tmp-index$$ - best= - best_cnt=-1 - for c in $bases - do - rm -f $G - GIT_INDEX_FILE=$G git-read-tree -m $c $head $remotes \ - 2>/dev/null || continue - # Count the paths that are unmerged. - cnt=`GIT_INDEX_FILE=$G git-ls-files --unmerged | wc -l` - if test $best_cnt -le 0 -o $cnt -le $best_cnt - then - best=$c - best_cnt=$cnt - if test "$best_cnt" -eq 0 - then - # Cannot do any better than all trivial merge. - break - fi - fi - done - rm -f $G - common="$best" - ;; -*) - common="$bases" - ;; -esac - git-update-index --refresh 2>/dev/null -git-read-tree -u -m $common $head $remotes || exit 2 +git-read-tree -u -m $bases $head $remotes || exit 2 echo "Trying simple merge." if result_tree=$(git-write-tree 2>/dev/null) then |