Re: [PATCH v3] stash: infer "push" when push-specific options are given
- From
Mirko Faina <mroik@delayed.space>
- Date
- Apr 6, 2026, 18:15 UTC
- Message-ID
- <adP3JZhS7IHDuUxm@exploit>
- In-Reply-To
- <20260405110953.3316-1-deveshigurgaon@gmail.com>
On Sun, Apr 05, 2026 at 11:09:53AM +0000, Deveshi Dwivedi wrote:
Show 21 quoted lines
> When "git stash" is run without the "push" subcommand, the command > tries to assume "push" but rejects any non-option arguments (i.e., > pathspecs without "--") to avoid treating a misspelled subcommand > name as a pathspec. The only exception is "-p", which sets > force_assume and allows pathspecs to follow. > > This means "git stash -m foo file" is rejected even though "-m" is > unambiguously a "push" option, and the user's intent is clear. The > same applies to other push-specific options like "--staged", > "--keep-index", "--include-untracked", and "--pathspec-from-file". > > Expand the set of options that force the "push" assumption to > include all push-specific options, so that pathspec arguments are > accepted without requiring "--" or the explicit "push" subcommand > when the command line already contains a push-only option. > > This was marked as #leftoverbits in [1]. > > [1] https://lore.kernel.org/git/xmqqtsu1jipp.fsf@gitster.g/ > > Signed-off-by: Deveshi Dwivedi <deveshigurgaon@gmail.com>
Just realized, "--include-untracked" is not specific only to 'push' as 'show' accepts it too as an argument. "--keep-index" as well, but since 'save' is deprecated I don't think anyone would mind and should be fine to leave it as is (though this is my opinion, should wait for others to see what they think).