diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2015-09-09 12:10:07 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-09-10 00:22:56 +0300 |
commit | b9d66899a992525f2de9436e160779844ecfa2f1 (patch) | |
tree | da470b6ed366d38f51d7ef2e82a5bdefdf331f0c | |
parent | 74b67638166ca2e66497ede559dbf393e7af8b40 (diff) |
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 <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-x | git-am.sh | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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" |