"git-push $URL" without refspecs pushes only matching branches
[gitweb.git] / git-stash.sh
index c8c5c5648efa20d8c565da63279c57ad76767101..18d3322ab5d57c8dc8e1333fc007861ef89e2d6d 100755 (executable)
@@ -76,7 +76,12 @@ save_stash () {
        printf >&2 'Saved WIP on %s\n' "$msg"
 }
 
+have_stash () {
+       git-rev-parse --verify $ref_stash >/dev/null 2>&1
+}
+
 list_stash () {
+       have_stash || return 0
        git-log --pretty=oneline -g "$@" $ref_stash |
        sed -n -e 's/^[.0-9a-f]* refs\///p'
 }
@@ -132,8 +137,8 @@ apply_stash () {
 
 # Main command set
 case "$1" in
-list)
-       shift
+list | '')
+       test $# -gt 0 && shift
        if test $# = 0
        then
                set x -n 10
@@ -152,7 +157,7 @@ apply)
 clear)
        clear_stash
        ;;
-'')
+save)
        save_stash && git-reset --hard
        ;;
 *)