mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
Use merge-recursive in git-am -3.
By switching from merge-resolve to merge-recursive in the 3-way fallback behavior of git-am we gain a few benefits: * renames are automatically handled, like in rebase -m; * conflict hunks can reference the patch name; * its faster on Cygwin (less forks). Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
a970e84e8a
commit
579c9bb198
|
@ -88,10 +88,12 @@ It does not apply to blobs recorded in its index."
|
|||
# This is not so wrong. Depending on which base we picked,
|
||||
# orig_tree may be wildly different from ours, but his_tree
|
||||
# has the same set of wildly different changes in parts the
|
||||
# patch did not touch, so resolve ends up canceling them,
|
||||
# patch did not touch, so recursive ends up canceling them,
|
||||
# saying that we reverted all those changes.
|
||||
|
||||
git-merge-resolve $orig_tree -- HEAD $his_tree || {
|
||||
eval GITHEAD_$his_tree='"$SUBJECT"'
|
||||
export GITHEAD_$his_tree
|
||||
git-merge-recursive $orig_tree -- HEAD $his_tree || {
|
||||
if test -d "$GIT_DIR/rr-cache"
|
||||
then
|
||||
git-rerere
|
||||
|
@ -99,6 +101,7 @@ It does not apply to blobs recorded in its index."
|
|||
echo Failed to merge in the changes.
|
||||
exit 1
|
||||
}
|
||||
unset GITHEAD_$his_tree
|
||||
}
|
||||
|
||||
prec=4
|
||||
|
|
Loading…
Reference in a new issue