For "git stash -p --no-keep-index", the pathspec argument is currently
not passed to "git reset". This means that changed that are staged but
that are excluded from the pathspec still get unstaged by git stash -p.
Make sure that doesn't happen by passing the pathspec argument to the
git reset in question, bringing the behaviour in line with "git stash --
<pathspec>".
Signed-off-by: Thomas Gummerer <redacted>
---
So this make things a bit inconsistent in for example the following
situation:
$ git status -s
M git-stash.sh
M read-cache.c
where using git stash -p --no-keep-index, when only changes in
git-stash.sh are added to the stash would reset read-cache.c, but with
git stash -p --no-keep-index -- git-stash.sh, read-cache.c would not
be reset.
However it does bring things more in line with git stash --
<pathspec>, so I think this is an improvement.
git-stash.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-stash.sh b/git-stash.sh
index c58f98f1d6..2d5c9a609c 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -322,7 +322,7 @@ push_stash () {
if test "$keep_index" != "t"
then
- git reset ${GIT_QUIET:+-q}
+ git reset ${GIT_QUIET:+-q} -- "$@"
fi
fi
}--
2.12.0.483.gad4152297