git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git stash push/save/create all return exit code 0, even if no object was created

From
ΣΝΣταύρος Ντέντος <stdedos@gmail.com>
Date
Mar 22, 2020, 16:15 UTC
Message-ID
<CAHMHMxVKXsBRFt7L5BSFZmW02SvisQa-9g7ibn1Dd6cXh1Nefg@mail.gmail.com>
In-Reply-To
<xmqq8sjs8k3k.fsf@gitster.c.googlers.com>
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
Previous: Junio C Hamano
Message 3 of 3 in “git stash push/save/create all return exit code 0, even if no object was created”
  1. Σταύρος ΝτέντοςMar 22, 2020
  2. Junio C HamanoMar 22, 2020
  3. Σταύρος ΝτέντοςMar 22, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.