summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: cbeaccc)
raw | patch | inline | side by side (parent: cbeaccc)
author | Junio C Hamano <gitster@pobox.com> | |
Sat, 28 Jul 2007 06:51:45 +0000 (23:51 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sat, 28 Jul 2007 07:06:00 +0000 (00:06 -0700) |
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>
"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>
git-stash.sh | patch | blob | history |
diff --git a/git-stash.sh b/git-stash.sh
index 873e7be6ad1f1906546f13fb59f624e2f4e37ae2..30425ce6df8b8da9b105fa7d8e958936420983ed 100755 (executable)
--- a/git-stash.sh
+++ b/git-stash.sh
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