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

Re: [PATCH RFC v1] stash: implement '--staged' option for 'push' and 'save'

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Oct 12, 2021, 09:18 UTC
Message-ID
<87y26yk35r.fsf@evledraar.gmail.com>
In-Reply-To
<87fst7z0oa.fsf@osv.gnss.ru>
On Tue, Oct 12 2021, Sergey Organov wrote:
Show 35 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes:
>
>> /On Mon, Oct 11, 2021 at 4:17 PM Sergey Organov <sorganov@gmail.com> wrote:
>>> Stash only the changes that are staged.
>>>
>>> This mode allows to easily stash-out for later reuse some changes
>>> unrelated to the current work in progress.
>>>
>>> Unlike 'stash push --patch', --staged supports using of any tool to
>>> select the changes to stash-out, including, but not limited to 'git
>>> add --interactive'.
>>
>> s/using of any/use of any/
>> ...or...
>> s/using of any/using any/
>
> Will fix, thanks!
>
>>
>>> Signed-off-by: Sergey Organov <sorganov@gmail.com>
>>> ---
>>> diff --git a/builtin/stash.c b/builtin/stash.c
>>> @@ -1656,6 +1716,8 @@ static int save_stash(int argc, const char **argv, const char *prefix)
>>> +               OPT_BOOL('S', "staged", &only_staged,
>>> +                        N_("stash in patch mode")),
>>>                 OPT_BOOL('p', "patch", &patch_mode,
>>>                          N_("stash in patch mode")),
>>>                 OPT__QUIET(&quiet, N_("quiet mode")),
>>
>> Copy/paste error in new help/description string?
>
> Yep.
>
> Thanks,
>

I very much like this option, I've sometimes missed it in "git stash", and was always going to dig into if there was some way to do it.

The one thing I'm a bit iffy on is if this is consistent with the --staged options in other commands (with some taking --cached and/or --staged), I think so, and this is a good name.

But is the -S option used as a shorthand for --staged somewhere else? *Checks*, ah yes, for "git restore", then we use "stage" for checkout-index/ls-files, the latter of which has a 's' (not capital-letter 'S') shorthand.

I *think* that just -s/--stage would make more sense here, but I've only looked at it briefly, but getting options consistent if possible is in general quite nice for users, so we should think about it...

Previous: Sergey OrganovNext: Sergey Organov
Message 5 of 26 in “stash: implement '--staged' option for 'push' and 'save'”
  1. stash: implement '--staged' option for 'push' and 'save'Sergey Organov, Oct 1, 2021
  2. stash: implement '--staged' option for 'push' and 'save'Sergey Organov, Oct 11, 2021
  3. Eric SunshineOct 11, 2021
  4. Sergey OrganovOct 11, 2021
  5. Ævar Arnfjörð BjarmasonOct 12, 2021
  6. Sergey OrganovOct 12, 2021
  7. Junio C HamanoOct 12, 2021
  8. Junio C HamanoOct 12, 2021
  9. Sergey OrganovOct 12, 2021
  10. Junio C HamanoOct 12, 2021
  11. Sergey OrganovOct 12, 2021
  12. Junio C HamanoOct 13, 2021
  13. Sergey OrganovOct 13, 2021
  14. stash: implement '--staged' option for 'push' and 'save'Sergey Organov, Oct 15, 2021
  15. Junio C HamanoOct 15, 2021
  16. Sergey OrganovOct 15, 2021
  17. Junio C HamanoOct 15, 2021
  18. Sergey OrganovOct 15, 2021
  19. Sergey OrganovOct 15, 2021
  20. stash: implement '--staged' option for 'push' and 'save'Sergey Organov, Oct 18, 2021
  21. Jeff KingOct 26, 2021
  22. Sergey OrganovOct 27, 2021
  23. stash: implement '--staged' option for 'push' and 'save'Sergey Organov, Oct 27, 2021
  24. Junio C HamanoOct 27, 2021
  25. stash: get rid of unused argument in stash_staged()Sergey Organov, Oct 28, 2021
  26. Junio C HamanoOct 28, 2021

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.