Subject: Re: Bug report: git stash

From: SZEDER Gábor <[email-masked]>
Date: Wed, 20 Nov 2019 20:12:52 +0100

On Wed, Nov 20, 2019 at 05:26:12PM +0000, John Sockwell wrote:
> > I’ve encountered unexpected behavior using the `git stash pop —quiet` after the pop the all the files in the repo are untracked.
> > 
> > My software versions: 
> >> macOS Catalina 10.15.1
> >> zsh 5.7.1
> >> git 2.24.0
> > 
> > Steps to reproduce:
> >> Create an empty repo: `mkdir /tmp/git; cd /tmp/git; git init`
> >> Commit an empty file: `touch sample-file; git add sample-file; git commit --message "Initial commit”`
> >> Modify the sample file: `echo "modification" > sample-file`
> >> Stash the dirty tree: `git stash push`
> >> Pop the stash: `git stash pop` — working tree returned to dirty state with modified: sample file
> >> Stash the dirty tree again: `git stash push`
> >> Pop the stash using the —quiet option: `git stash pop —quiet`
> > 
> > Expected result: Same behavior as without the —quiet option. Working tree to again be returned to dirty state with modified: sample-file
> >> `git status`
> >> On branch master
> >> Changes not staged for commit:
> >>   (use "git add <file>..." to update what will be committed)
> >>   (use "git restore <file>..." to discard changes in working directory)
> >> 	modified:   sample-file
> >> 
> >> no changes added to commit (use "git add" and/or "git commit -a”)
> >> 
> > Actual result: working tree is dirty with a different set of changes deleted: sample-file, untracked files: sample-file
> >> `git status`
> >> On branch master
> >> Changes to be committed:
> >>   (use "git restore --staged <file>..." to unstage)
> >> 	deleted:    sample-file
> >> 
> >> Untracked files:
> >>   (use "git add <file>..." to include in what will be committed)
> >> 	sample-file

Thanks for the bug report.  It's a known issue that was indeed
introduced in v2.24.0, and we already have a fix for it in commit
df53c80822 (stash: make sure we have a valid index before writing it,
2019-11-13).

The previous bug report and related discussion can be found at:

  https://public-inbox.org/git/20191113150136.GB3047@cat/T/#u

Perhaps the fix will make it to a v2.24.0.1 soon-ish.