With the 'git stash save' interface, it was easily possible for users to try to add a message which would start with "-", which 'git stash save' would interpret as a command line argument, and fail. For this case we added some extra help on how to create a stash with a message starting with "-". For 'stash push', messages are passed with the -m flag, avoiding this potential pitfall. Now only pathspecs starting with "-" would have to be distinguished from command line parameters by using "-- --<pathspec>". This is fairly common in the git command line interface, and we don't try to guess what the users wanted in the other cases. Because this way of passing pathspecs is quite common in other git commands, and we don't provide any extra help there, do the same in the error message for 'git stash push'. Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> --- git-stash.sh | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/git-stash.sh b/git-stash.sh index 3a4e5d157c..4b74951440 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -260,18 +260,7 @@ push_stash () { ;; -*) option="$1" - # TRANSLATORS: $option is an invalid option, like - # `--blah-blah'. The 7 spaces at the beginning of the - # second line correspond to "error: ". So you should line - # up the second line with however many characters the - # translation of "error: " takes in your language. E.g. in - # English this is: - # - # $ git stash push --blah-blah 2>&1 | head -n 2 - # error: unknown option for 'stash push': --blah-blah - # To provide a message, use git stash push -m '--blah-blah' - eval_gettextln "error: unknown option for 'stash push': \$option - To provide a message, use git stash push -m '\$option'" + eval_gettextln "error: unknown option for 'stash push': \$option" usage ;; *) -- 2.15.0.rc0.2.g8fac3e73c8.dirty