summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a970e84)
raw | patch | inline | side by side (parent: a970e84)
author | Shawn O. Pearce <spearce@spearce.org> | |
Thu, 28 Dec 2006 07:35:27 +0000 (02:35 -0500) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 29 Dec 2006 03:06:16 +0000 (19:06 -0800) |
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>
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>
git-am.sh | patch | blob | history |
diff --git a/git-am.sh b/git-am.sh
index c3bbd78eabf6f3d5eaa0f31bb0c240a26f28e0c5..7c0bb6084b332db7f7b6b9058db4d92b828730f0 100755 (executable)
--- a/git-am.sh
+++ b/git-am.sh
# 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
echo Failed to merge in the changes.
exit 1
}
+ unset GITHEAD_$his_tree
}
prec=4