From b9d66899a992525f2de9436e160779844ecfa2f1 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 9 Sep 2015 09:10:07 +0000 Subject: am --skip/--abort: merge HEAD/ORIG_HEAD tree into index 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 Acked-by: Paul Tan Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- git-am.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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" -- cgit v1.2.1