This series teaches git stash branch and git stash show to be more tolerant of stash-like references that are not actually stash entry references, while teaching git stash pop and git stash drop to be less tolerant of stash-like references that are not actually stash entry references. Junio: I did not adopt your suggestion to make git stash drop more tolerant of invalid stash references since failing early might help a user to spot an incorrect assumption about the state of their working tree and stash stack - silently handling this case might hide such an incorrect assumption. However, if you would prefer git stash drop to behave that way, I'll rework the series accordingly. The first 4 commits refactor the existing code without significantly changing existing behaviour. The next 4 commits modify existing behaviour to be more (or less) tolerant of stash-like references, as required. The last 2 commits update the tests and documentation to reflect the modified behaviour. Jon Seymour (9): stash: refactor - create pop_stash function stash: extract stash-like check into its own function stash: introduce is_stash_ref and assert_stash_ref functions. stash: teach git stash pop to fail early if the argument is not a stash ref stash: teach git stash drop to fail early if the specified revision is not a stash reference stash: teach git stash branch to tolerate stash-like arguments stash: teach git stash show to always tolerate stash-like arguments. t3903-stash.sh: tests of git stash with stash-like arguments Documentation: git stash branch now tolerates non-stash references. Documentation/git-stash.txt | 4 +- git-stash.sh | 92 +++++++++++++++++++++++++++++++------------ t/t3903-stash.sh | 81 +++++++++++++++++++++++++++++++++++++ 3 files changed, 149 insertions(+), 28 deletions(-) -- 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