Proposal:
1. Change 'git stash <not-a-stash-command>' to give a usage message
instead of using <not-a-stash-command> as the stash message.
2. Change 'git stash -p <args>' to treat the <args> as filename
arguments similar to add -p. Possibly add a -m option that lets
you specify a message anyway, if desired.
Rationale:
The first one has long been a pet peeve of others, too. It makes the
stash command prone to typo accidents and such.
The second one was my own fault, and breaks the symmetry with the rest
of the -p family.
Risks:
Users trained to either usage will obviously have to retrain their
fingers. Scripts may also have to be changed, but if anything they
probably use a 'git stash; do_something; git stash pop' pattern which
would not be affected. (I also suspect most scripts using this
pattern forget to check whether there is anything to stash, and thus
are broken if there isn't.)
Migration plan:
In 1.7.5, give a loud warning for both syntaxes.
In 1.8.0, switch them as described.
--
Thomas Rast
trast@{inf,student}.ethz.ch