[PATCH] Mark 'git stash [message...]' as deprecated
From: Brian Downing <hidden>
Date: 2016-06-15 22:43:48
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Complain to STDERR unless 'git stash save' is explicitly used. This is in preparation for completely disabling the "default save" behavior of the command in the future. Signed-off-by: Brian Downing <redacted> --- Documentation/git-stash.txt | 9 ++++----- git-stash.sh | 8 +++++++- t/t3903-stash.sh | 14 +++++++++++++- 3 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt
index c0147b9..61cf95d 100644
--- a/Documentation/git-stash.txt
+++ b/Documentation/git-stash.txt@@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] 'git-stash' (list | show [<stash>] | apply [<stash>] | clear) -'git-stash' [save] [message...] +'git-stash' save [message...] DESCRIPTION -----------
@@ -39,8 +39,7 @@ OPTIONS save:: Save your local modifications to a new 'stash', and run `git-reset - --hard` to revert them. This is the default action when no - subcommand is given. + --hard` to revert them. list::
@@ -119,7 +118,7 @@ perform a pull, and then unstash, like this: $ git pull ... file foobar not up to date, cannot merge. -$ git stash +$ git stash save $ git pull $ git stash apply ----------------------------------------------------------------
@@ -147,7 +146,7 @@ You can use `git-stash` to simplify the above, like this: + ---------------------------------------------------------------- ... hack hack hack ... -$ git stash +$ git stash save $ edit emergency fix $ git commit -a -m "Fix in a hurry" $ git stash apply
diff --git a/git-stash.sh b/git-stash.sh
index f39bd55..a8b854a 100755
--- a/git-stash.sh
+++ b/git-stash.sh@@ -1,7 +1,7 @@ #!/bin/sh # Copyright (c) 2007, Nanako Shiraishi -USAGE='[ | list | show | apply | clear]' +USAGE='[save | list | show | apply | clear]' SUBDIRECTORY_OK=Yes . git-sh-setup
@@ -223,6 +223,12 @@ help | usage) if test $# -gt 0 && test "$1" = save then shift + else + cat >&2 <<EOF +'git stash [message...]' is deprecated, please use +'git stash save [message...]' instead. + +EOF fi save_stash "$*" && git-reset --hard ;;
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index 9a9a250..adfac4b 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh@@ -16,7 +16,7 @@ test_expect_success 'stash some dirty working directory' ' git add file && echo 3 > file && test_tick && - git stash && + git stash save && git diff-files --quiet && git diff-index --cached --quiet HEAD '
@@ -73,4 +73,16 @@ test_expect_success 'unstashing in a subdirectory' ' git stash apply ' +test_expect_success 'stash with no args' ' + echo 7 > file && + test_tick && + git stash +' + +test_expect_success 'stash with bare message' ' + echo 8 > file && + test_tick && + git stash "a message" +' + test_done
--
1.5.3.5.1547.gf6d81-dirty