Re: [PATCH RFC v1] stash: implement '--staged' option for 'push' and 'save'
- From
Sergey Organov <sorganov@gmail.com>
- Date
- Oct 12, 2021, 11:20 UTC
- Message-ID
- <8735p67an1.fsf@osv.gnss.ru>
- In-Reply-To
- <87y26yk35r.fsf@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 53 quoted lines
> On Tue, Oct 12 2021, Sergey Organov wrote:
>
>> 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...I grepped the Documentation/ and found -S,--staged in the "git-restore.txt":
-S::
--staged::
Specify the restore location., so I used the same shorthand, even though I personally would use -s as well.
In addition, the problem with -s is that it's used in a lot of places for entirely unrelated option(s).
Thanks, -- Sergey Organov