Code

Emit helpful status for accidental "git stash" save
authorWincent Colaiuta <win@wincent.com>
Sat, 22 Dec 2007 17:31:25 +0000 (18:31 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sat, 22 Dec 2007 19:15:22 +0000 (11:15 -0800)
If the user types "git stash" mistakenly thinking that this will list
their stashes he/she may be surprised to see that it actually saved
a new stash and reset their working tree and index.

In the worst case they might not know how to recover the state. So
help them by telling them exactly what was saved and also how to
restore it immediately.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-stash.sh

index f16fd9c3c0e5b9248623d1d65146504c603fc840..06cb177ec6c10d21f128390edc5bfedfa05db9a9 100755 (executable)
@@ -99,7 +99,7 @@ save_stash () {
 
        git update-ref -m "$stash_msg" $ref_stash $w_commit ||
                die "Cannot save the current status"
-       printf >&2 'Saved "%s"\n' "$stash_msg"
+       printf >&2 'Saved working directory and index state "%s"\n' "$stash_msg"
 }
 
 have_stash () {
@@ -228,7 +228,9 @@ create)
 *)
        if test $# -eq 0
        then
-               save_stash && git-reset --hard
+               save_stash &&
+               echo >&2 '(To restore them type "git stash apply")' &&
+               git-reset --hard
        else
                usage
        fi