git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC PATCH] stash: accept options also when subcommand 'save' is omitted

From
Jeff King <peff@peff.net>
Date
Aug 18, 2009, 23:06 UTC
Message-ID
<20090818230632.GA4436@sigill.intra.peff.net>
In-Reply-To
<alpine.DEB.1.00.0908190041200.8306@pacific.mpi-cbg.de>
On Wed, Aug 19, 2009 at 12:46:27AM +0200, Johannes Schindelin wrote:
> So if I say "git stash -q" by mistake, but wanted to say "git stash drop 
> -q", then I am borked?
> 
> Bah!  I say: bah!
Yep, though it is only one of many borkings that currently exist. Try:
  # oops, what was the name of that option?
  git stash save --index
  # does apply take --patch, too?
  git stash apply --patch

Still, other parts of the option parsing being awful aren't an excuse to mess this one up. So I see your point.

Show 5 quoted lines
> You're basically reintroducing at least part of the DWIMery that was 
> reverted in 9488e875 and I have the distinct feeling that some people in 
> this thread do not think hard enough about what would adher to the 
> principle of least surprise even in the future (or even for people 
> introducing other stash save options).

I don't think it is quite as bad as that, as arbitrary crap will not get passed through, only crap that looks like options. Which is perhaps a step up, but it is debatable how much.

I think Matthieu's proposal to be strict about matching the options, but to take multiple options is probably the best bet for now. As it is now, accepting "git stash -k" or "git stash -p" but not "git stash -k -p" is pretty counterintuitive. But with explicit matching it should be no less safe than it is now.

> Well, you just go ahead and push through your patch, and I do what I 
> promised on my blog.

I don't know why you need to be so confrontational. I don't even have a patch to "push through". I just said "I don't see the problem", and I'm glad you brought up the previous stash behavior, because I had forgotten the pain it caused. And that is why discussing on a public forum is nice; it lets people contribute things that others might have missed.

-Peff
Previous: Johannes Schindelin
Message 22 of 22 in “stash: accept options also when subcommand 'save' is omitted”
  1. stash: accept options also when subcommand 'save' is omittedMatthieu Moy, Aug 18, 2009
  2. Matthieu MoyAug 18, 2009
  3. Jeff KingAug 18, 2009
  4. Junio C HamanoAug 18, 2009
  5. 0/3 short syntaxes for 'git stash'Matthieu Moy, Aug 18, 2009
  6. 1/3 stash: accept -k as a shortcut for --keep-indexMatthieu Moy, Aug 18, 2009
  7. 2/3 stash: accept options also when subcommand 'save' is omittedMatthieu Moy, Aug 18, 2009
  8. 3/3 stash: reject stash name starting with a dash.Matthieu Moy, Aug 18, 2009
  9. Jeff KingAug 18, 2009
  10. Junio C HamanoAug 18, 2009
  11. Jeff KingAug 18, 2009
  12. Junio C HamanoAug 18, 2009
  13. Matthieu MoyAug 19, 2009
  14. Jeff KingAug 19, 2009
  15. Jeff KingAug 18, 2009
  16. Johannes SchindelinAug 18, 2009
  17. Matthieu MoyAug 18, 2009
  18. Johannes SchindelinAug 18, 2009
  19. Matthieu MoyAug 19, 2009
  20. Jeff KingAug 18, 2009
  21. Johannes SchindelinAug 18, 2009
  22. Jeff KingAug 18, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.