Skip to content

Commit

Permalink
git-stash apply --index: optimize postprocessing
Browse files Browse the repository at this point in the history
Originally, "apply --index" codepath was bolted on to the
"update working tree files and index, but then revert the
changes we make to the index except for added files so that we
do not forget about them" codepath, almost as an afterthought.
Because "apply --index" first prepares the final index state
upfront, "revert except the added paths" postprocessing does not
have to be done.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Junio C Hamano committed Jul 28, 2007
1 parent cbeaccc commit 83b3df7
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions git-stash.sh
Original file line number Diff line number Diff line change
Expand Up @@ -157,15 +157,16 @@ apply_stash () {
if git-merge-recursive $b_tree -- $c_tree $w_tree
then
# No conflict
a="$TMP-added" &&
git diff --cached --name-only --diff-filter=A $c_tree >"$a" &&
git read-tree --reset $c_tree &&
git update-index --add --stdin <"$a" ||
die "Cannot unstage modified files"
rm -f "$a"
if test -n "$unstashed_index_tree"
then
git read-tree "$unstashed_index_tree"
else
a="$TMP-added" &&
git diff --cached --name-only --diff-filter=A $c_tree >"$a" &&
git read-tree --reset $c_tree &&
git update-index --add --stdin <"$a" ||
die "Cannot unstage modified files"
rm -f "$a"
fi
git status || :
else
Expand Down

0 comments on commit 83b3df7

Please sign in to comment.