Re: [PATCH v2] stash: expose untracked modes in create
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 5, 2026, 16:43 UTC
- Message-ID
- <xmqq1pa4ksiw.fsf@gitster.g>
- In-Reply-To
- <CANUHOw3gynMRGN7A-wOnL3PQtgFbMtsB2gyZxaq+0Z5bHp-H8A@mail.gmail.com>
重田一聖 <kazumasa.shigeta@kanamei.com> writes:
> Your question made me realize that I had focused too narrowly on the > untracked modes. The larger issue is not simply that `do_create_stash()` > has capabilities that `git stash create` does not expose.
Brilliant. I agree that is the right way to frame the issue.
> Making more of those capabilities available through `create` would > therefore mean either changing that contract or designing around it. > That is a much larger interface decision than I appreciated when I sent > the patch.
Perhaps, but I do not think it is too huge a backward-compatibility breakage to forbid giving a message lazily (i.e., all strings in argv[] after 'git stash create' gets concatenated and becomes a single message) that begins with "-", with an escape hatch that a leading "-m" will take the next argv[] element as the message, for example.
> 2. Add a new stash subcommand for the creation functionality.
This is essentially how 'git stash save' came about, to give us ways to control how a new stash entry is created and how the working tree is cleared with command line options. In the beginning, you did not even have to say 'save', because 'git stash <message>' was invented as a way to say "the boss is here and tells me to work on something unrelated. clear the slate with minimum number of keystrokes to continue working on what I have been working on later." And that later became 'git stash push'.
> 3. Add something like `--create-only` to `git stash push`.
This also would work and sounds the safest.