reset reports file as modified when it's in fact deleted
- From
Carlos Martín Nieto <cmn@elego.de>
- Date
- Nov 7, 2011, 09:43 UTC
- Message-ID
- <20111107094330.GB10936@beez.lab.cmartin.tk>
Hello,
When I delete a file (git rm) and then reset so it exists in the index again, the message tells me 'M file.txt' even though the file doesn't exist in the worktree anymore. Running git status afterwards does give the correct output. So, here's the minimal steps to reproduce:
$ git init
Initialized empty Git repository in /home/carlos/test/reset-err/.git/
$ touch file.txt
$ git add file.txt
$ git ci file.txt -m initial
[master (root-commit) a536393] initial
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file.txt
$ git rm file.txt
rm 'file.txt'
$ git reset -- file.txt
Unstaged changes after reset:
M file.txt
$ git status -b -s
## master
D file.txtI'd expect the output after "Unstaged changes after reset" to tell me file.txt has been deleted instead of modified. This happens with 1.7.8-rc0, 1.7.7 and 1.7.4.1 and I expect with many more that I don't have here.
I thought the index diff code might have been checking the index at the wrong time, but I can run 'git reset HEAD -- file.txt' as many times as I want, and it will still say 'M', so now I'm not sure.
cmn