summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2015-09-09 09:10:07 +0000
committerJunio C Hamano <gitster@pobox.com>2015-09-09 14:22:56 -0700
commitb9d66899a992525f2de9436e160779844ecfa2f1 (patch)
treeda470b6ed366d38f51d7ef2e82a5bdefdf331f0c
parent74b67638166ca2e66497ede559dbf393e7af8b40 (diff)
downloadgit-js/maint-am-skip-performance-regression.tar.gz
am --skip/--abort: merge HEAD/ORIG_HEAD tree into indexjs/maint-am-skip-performance-regression
f8da6801 (am --skip: support skipping while on unborn branch, 2015-06-06) introduced a performance regression to "git am --skip", where it used "read-tree" to reconstruct the index from scratch without reusing the cached stat information. This is a backport of the corresponding patch to the builtin am in 2.6: 3ecc704 (am --skip/--abort: merge HEAD/ORIG_HEAD tree into index, 2015-08-19). Reportedly, it can make a huge difference on Windows, in one case a `git rebase --skip` took 1m40s without, and 5s with, this patch. cf. https://github.com/git-for-windows/git/issues/365 Reported-and-suggested-by: Kim Gybels <kgybels@infogroep.be> Acked-by: Paul Tan <pyokagan@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-am.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-am.sh b/git-am.sh
index 3103c0fc28..4ab1f21505 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -509,7 +509,7 @@ then
git read-tree --reset -u $head_tree $head_tree &&
index_tree=$(git write-tree) &&
git read-tree -m -u $index_tree $head_tree
- git read-tree $head_tree
+ git read-tree -m $head_tree
;;
,t)
if test -f "$dotest/rebasing"