Earlier when we read a tree into a temporary index, we read it
from scratch. Start from the current index and use read-tree -m
to preserve cached stat information as much as possible, in
order to speed up "git add -u". This makes "git stash" usable
in a source tree of nontrivial size.
Signed-off-by: Junio C Hamano <redacted>
---
git-stash.sh | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/git-stash.sh b/git-stash.sh
index eac5551..de13dd1 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -58,11 +58,11 @@ save_stash () {
# state of the working tree
w_tree=$( (
+ rm -f "$TMP-index" &&
+ cp -p ${GIT_INDEX_FILE-"$GIT_DIR/index"} "$TMP-index" &&
GIT_INDEX_FILE="$TMP-index" &&
export GIT_INDEX_FILE &&
-
- rm -f "$TMP-index" &&
- git read-tree $i_tree &&
+ git read-tree -m $i_tree &&
git add -u &&
git write-tree &&
rm -f "$TMP-index"--
1.5.3.rc0.858.gd08b