[PATCH v4 0/9] stash: modifiy handling of stash-like references
- From
Jon Seymour <jon.seymour@gmail.com>
- Date
- Aug 10, 2010, 00:04 UTC
- Message-ID
- <1281398688-21008-1-git-send-email-jon.seymour@gmail.com>
- In-Reply-To
- <1281242771-24764-1-git-send-email-jon.seymour@gmail.com>
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 3 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.
Thanks to Johannes Sixt for suggesting improvements to the tests.
This series in unchanged from v3 except for patch 8 which improves the tests and patch 9 which enhances the documentation to indicate which commands require a stash entry reference and which are happy to use just a stash-like commit.
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 | 37 +++++++++-------- git-stash.sh | 92 +++++++++++++++++++++++++++++++------------ t/t3903-stash.sh | 77 ++++++++++++++++++++++++++++++++++++ 3 files changed, 163 insertions(+), 43 deletions(-)