mirror of
https://github.com/git/git.git
synced 2024-11-28 04:23:30 +08:00
Merge branch 'sp/merge' (early part)
* 'sp/merge' (early part): Improve merge performance by avoiding in-index merges.
This commit is contained in:
commit
6de33478af
40
git-merge.sh
40
git-merge.sh
@ -301,24 +301,30 @@ f,*)
|
||||
;;
|
||||
?,1,*,)
|
||||
# We are not doing octopus, not fast forward, and have only
|
||||
# one common. See if it is really trivial.
|
||||
git var GIT_COMMITTER_IDENT >/dev/null || exit
|
||||
|
||||
echo "Trying really trivial in-index merge..."
|
||||
# one common.
|
||||
git-update-index --refresh 2>/dev/null
|
||||
if git-read-tree --trivial -m -u -v $common $head "$1" &&
|
||||
result_tree=$(git-write-tree)
|
||||
then
|
||||
echo "Wonderful."
|
||||
result_commit=$(
|
||||
echo "$merge_msg" |
|
||||
git-commit-tree $result_tree -p HEAD -p "$1"
|
||||
) || exit
|
||||
finish "$result_commit" "In-index merge"
|
||||
dropsave
|
||||
exit 0
|
||||
fi
|
||||
echo "Nope."
|
||||
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" &&
|
||||
result_tree=$(git-write-tree)
|
||||
then
|
||||
echo "Wonderful."
|
||||
result_commit=$(
|
||||
echo "$merge_msg" |
|
||||
git-commit-tree $result_tree -p HEAD -p "$1"
|
||||
) || exit
|
||||
finish "$result_commit" "In-index merge"
|
||||
dropsave
|
||||
exit 0
|
||||
fi
|
||||
echo "Nope."
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# An octopus. If we can reach all the remote we are up to date.
|
||||
|
Loading…
Reference in New Issue
Block a user