summaryrefslogtreecommitdiff
path: root/git-stash.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-06-01 12:45:14 -0700
committerJunio C Hamano <gitster@pobox.com>2015-06-01 12:45:14 -0700
commitf693bb0bb0d18d6150d6059dfad5018501a9713a (patch)
tree53c5daaee141a48f062343143bf2b5e3df870227 /git-stash.sh
parent324a9f41cbf96ad994efc3b20be239116eba0dae (diff)
parent5ba28313f29bcc2e8571c4b325646fecfbe238df (diff)
downloadgit-f693bb0bb0d18d6150d6059dfad5018501a9713a.tar.gz
Merge branch 'jk/stash-options'
Make "git stash something --help" error out, so that users can safely say "git stash drop --help". * jk/stash-options: stash: recognize "--help" for subcommands stash: complain about unknown flags
Diffstat (limited to 'git-stash.sh')
-rwxr-xr-xgit-stash.sh17
1 files changed, 16 insertions, 1 deletions
diff --git a/git-stash.sh b/git-stash.sh
index 7911f30c63..1f5ea877d7 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -219,6 +219,9 @@ save_stash () {
-a|--all)
untracked=all
;;
+ --help)
+ show_help
+ ;;
--)
shift
break
@@ -301,11 +304,17 @@ list_stash () {
}
show_stash () {
+ ALLOW_UNKNOWN_FLAGS=t
assert_stash_like "$@"
git diff ${FLAGS:---stat} $b_commit $w_commit
}
+show_help () {
+ exec git help stash
+ exit 1
+}
+
#
# Parses the remaining options looking for flags and
# at most one revision defaulting to ${ref_stash}@{0}
@@ -332,13 +341,14 @@ show_stash () {
#
# GIT_QUIET is set to t if -q is specified
# INDEX_OPTION is set to --index if --index is specified.
-# FLAGS is set to the remaining flags
+# FLAGS is set to the remaining flags (if allowed)
#
# dies if:
# * too many revisions specified
# * no revision is specified and there is no stash stack
# * a revision is specified which cannot be resolve to a SHA1
# * a non-existent stash reference is specified
+# * unknown flags were set and ALLOW_UNKNOWN_FLAGS is not "t"
#
parse_flags_and_rev()
@@ -371,7 +381,12 @@ parse_flags_and_rev()
--index)
INDEX_OPTION=--index
;;
+ --help)
+ show_help
+ ;;
-*)
+ test "$ALLOW_UNKNOWN_FLAGS" = t ||
+ die "$(eval_gettext "unknown option: \$opt")"
FLAGS="${FLAGS}${FLAGS:+ }$opt"
;;
esac