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

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Tue, 12 Oct 2021 11:18:38 +0200

On Tue, Oct 12 2021, Sergey Organov wrote:

> Eric Sunshine <[email-masked]> writes:
>
>> /On Mon, Oct 11, 2021 at 4:17 PM Sergey Organov <[email-masked]> 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 <[email-masked]>
>>> ---
>>> 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...