Merge branch 'sp/merge' (early part)

* 'sp/merge' (early part):
  Improve merge performance by avoiding in-index merges.
maint
Junio C Hamano 2007-01-14 12:03:53 -08:00
commit 6de33478af
1 changed files with 23 additions and 17 deletions

View File

@ -301,11 +301,16 @@ f,*)
;; ;;
?,1,*,) ?,1,*,)
# We are not doing octopus, not fast forward, and have only # We are not doing octopus, not fast forward, and have only
# one common. See if it is really trivial. # one common.
git var GIT_COMMITTER_IDENT >/dev/null || exit

echo "Trying really trivial in-index merge..."
git-update-index --refresh 2>/dev/null git-update-index --refresh 2>/dev/null
case " $use_strategies " in
*' recursive '*|*' recur '*)
: run merge later
;;
*)
# See if it is really trivial.
git var GIT_COMMITTER_IDENT >/dev/null || exit
echo "Trying really trivial in-index merge..."
if git-read-tree --trivial -m -u -v $common $head "$1" && if git-read-tree --trivial -m -u -v $common $head "$1" &&
result_tree=$(git-write-tree) result_tree=$(git-write-tree)
then then
@ -319,6 +324,7 @@ f,*)
exit 0 exit 0
fi fi
echo "Nope." echo "Nope."
esac
;; ;;
*) *)
# An octopus. If we can reach all the remote we are up to date. # An octopus. If we can reach all the remote we are up to date.