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

RE: Regression in 'git pull --rebase --autostash' since v2.32.0

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jul 17, 2021, 19:34 UTC
Message-ID
<60f330c09ee05_25f220867@natae.notmuch>
In-Reply-To
<a0071549-73f6-9636-9279-3f01143a05de@gmail.com>
Hello,
Philippe Blain wrote:
Show 15 quoted lines
> Your recent clean-up of 'git pull --autostash' seems to unfortunately have made things
> worse if the pull brings new files that conflict with existing untracked files,
> which makes the pull abort,
> and there are tracked files with modifications (so --autostash comes into play).
> 
> Before your change, 'git pull --no-rebase --autostash' did *not* apply the autostash
> after the pull failed, thus loosing modifications to tracked files (and it did not save the
> stash entry !). 'git pull --rebase --autostash' correctly applied the autostash, but ended with
> a strange "error: could not detach HEAD".
> 
> After your change, both 'git pull --no-rebase --autostash' and 'git pull --rebase --autostash'
> have the same buggy behaviour: they do not apply the autostash and do not save it in the stash list.
> 
> I had already documented the old behaviour at [1]. Here, I copy my reproducer script
> (save it as "script"):

I cannot reproduce this. In my case the reproducer script never puts anything in the stash list.

Moreover, this is not an issue of `git pull`, but `git merge`.
I can reproduce the problem that the modifications are lost like this:
  git init test
  (
    cd test
    date >> file
    git add file
    git commit -m 'add file'
    date >> other
    git add other
    git commit -m 'add other'
    git checkout -b topic @~
    date >> other
    date >> file
    git status
    git "$@" master
    git status
    git stash list
  )

Running this with 'rebase --autostash' fails and nothing is put in the stash list, but the modifications to 'file' remain. I think this is the correct behavior.

But with 'merge --autostash' the modifications to 'file' are lost. That is a bug, and it's already present in v2.32.

Do you agree?
-- 
Felipe Contreras
Previous: Philippe BlainNext: Philippe Blain
Message 3 of 7 in “Regression in 'git pull --rebase --autostash' since v2.32.0”
  1. Philippe BlainJul 17, 2021
  2. Philippe BlainJul 17, 2021
  3. Felipe ContrerasJul 17, 2021
  4. Philippe BlainJul 17, 2021
  5. Felipe ContrerasJul 18, 2021
  6. Philippe BlainJul 23, 2021
  7. Felipe ContrerasJul 23, 2021

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.