Robert Dailey <rcdailey.lists@xxxxxxxxx> writes: > To drop a stash, I have to do this (example): > > $ git stash drop stash@{3} > > Using the full "stash@{N}" seems superfluous since the documentation > states it must be a stash in the first place. It would make more sense > (and be quicker to type) to do: > > $ git stash drop 3 > > Is there a trick I can use to make this shorthand possible? I thought > about creating a "s" script for "stash" that intercepted the > parameters for only a couple of stash sub-commands and created the > ref, but that seems a lot of work. > > Any productivity tips here? Thanks in advance. Isn't that already the case? git-stash.sh::drop_stash gives "$@" to assert_stash_ref, which in turn calls is_stash_ref, which in turn calls is_stash_like, and this callchain eventually cals into parse_flags_and_rev. Which has this bit (may be hard to read because it is incorrectly indented): case "$1" in *[!0-9]*) : ;; *) set -- "${ref_stash}@{$1}" ;; esac REV=$(git rev-parse --symbolic --verify --quiet "$1") || { reference="$1" die "$(eval_gettext "\$reference is not a valid reference")" }