With this change, git stash pop will fail early if a specified revision argument is not a valid stash reference. This fixes the case where the apply succeeds, but the drop fails which caused git stash pop to exit with a non-zero exit code and a dirty tree. Now, git stash pop fails with a non-zero exit code, but the tree is not modified. Signed-off-by: Jon Seymour <jon.seymour@xxxxxxxxx> --- git-stash.sh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index 41a9359..4f28c09 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -351,10 +351,10 @@ apply_stash () { } pop_stash() { - if apply_stash "$@" - then - drop_stash "$applied_stash" - fi + assert_stash_ref "$@" + + apply_stash "$@" && + drop_stash "$applied_stash" } drop_stash () { -- 1.7.2.1.51.g82c0c0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html