Re: git stash push/save/create all return exit code 0, even if no object was created
On Sun, 22 Mar 2020 at 17:50, Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
>
> This has been asked and answered recently at least twice, I think.
>
> https://lore.kernel.org/git/01020169a7ad6af3-ad50e2d1-19fb-46eb-b397-759f8d579e8b-000000@eu-west-1.amazonses.com/
>
> https://lore.kernel.org/git/CADZUK1cjvifbFYk9w6+vE95jgEBuwjoOi_1QfZHoPFBXuXHCCg@mail.gmail.com/
>
> I think these previous ones wanted something more relevant to "git
> stash", in the sense that they wanted to be able to
>
> git stash
> do some other things
> do many other things
> if earlier "git stash" produced an entry
> git stash pop
>
> and the answer to that may be "use stash create upfront, save it
> away yourself in a variable or something, then use that to restore"
I guess I was too much into my stuff, and couldn't think straight on how to search for this. Apologies, and thank you! :-)
Maybe I find https://public-inbox.org/git/20190927230747.yjdeaen34nnpcchy@camp.crustytoothpaste.net/
| grep -vP '^??' (or git-status-filtering equivalent; I'm in a rush to
commit this e-mail) somehow useful in my case
Show 5 quoted lines
> But to me your use case does not look like it has much to "git
> stash". If a user wants to ask "is my working tree and the index
> dirty (iow, have I made any changes)?", wouldn't "git status" be the
> right tool for the job? It even has an option to produce output
> designed to be machine readable.
I tried to minimize the message, and left that important part out. I am also part of the first case.
Then my fear/question remains:
* Wouldn't it be safer if it was "securely" stored in `refs/stash`
(i.e. `git stash push`) instead of `sha1="$(git stash create)"; echo
"Created autostash: ${sha1}"`?
How is `rebase.autoStash = true` protected from "stuff" happening?
A tin-foil hat example that I'm thinking is terminal output lost for
some reason and git rebase ancestor is killed -9.
Or is there is "not much" to protect against?
* ... then `git stash` won't clean what it just stored. Is the
solution to also run `git reset --hard` here?
--
With regards,
Ntentos Stavros