am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
commitb9d66899a992525f2de9436e160779844ecfa2f1
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 9 Sep 2015 09:10:07 +0000 (9 09:10 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 9 Sep 2015 21:22:56 +0000 (9 14:22 -0700)
treeda470b6ed366d38f51d7ef2e82a5bdefdf331f0c
parent74b67638166ca2e66497ede559dbf393e7af8b40
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>
git-am.sh