Hi, I found very strange bug in git stash. Testcase attached to this mail. 1. I have a test repo with two modified files and one new file with content witch added to commit (see repo in attached file): nikolay@localhost:~/Desktop/git-stash_bug/bug$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: 3 # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: 1 # modified: 2 # 2. Stashing two modified files into stash named one: nikolay@localhost:~/Desktop/git-stash_bug/bug$ git stash save --keep-index one Saved working directory and index state On master: one HEAD is now at 7e495f9 files added 3. Checking status, files stashed successfully: nikolay@localhost:~/Desktop/git-stash_bug/bug$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: 3 # 4. Stashing one added to commit file into stash named zero: nikolay@localhost:~/Desktop/git-stash_bug/bug$ git stash save zero Saved working directory and index state On master: zero HEAD is now at 7e495f9 files added 5. Checking status, files stashed successfully: nikolay@localhost:~/Desktop/git-stash_bug/bug$ git status # On branch master nothing to commit, working directory clean 6. Trying to unstash first stashed changes (on step 2), there a bug: nikolay@localhost:~/Desktop/git-stash_bug/bug$ git stash pop stash@{1} # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: 3 # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: 1 # modified: 2 # Dropped stash@{1} (7926ab7285753c179a368a3a7e8ebfb0f39d0437) Why there a new empty file named 3? I'm using git 1.8.1, same problem confirmed on git 1.7.12.4. -- Nikolay Frantsev Homepage: http://frantsev.ru/
<<attachment: git-stash_bug.zip>>