status: put added files that have disappeared in the deleted list
This gives the user an indication that something went wrong with this file:
$ hg add foo
$ rm foo
$ hg status foo
! foo
Fixes issue212.
--- a/mercurial/dirstate.py Thu Feb 14 18:08:16 2008 -0200
+++ b/mercurial/dirstate.py Thu Feb 14 18:08:16 2008 -0200
@@ -568,7 +568,7 @@
nonexistent = False
# XXX: what to do with file no longer present in the fs
# who are not removed in the dirstate ?
- if nonexistent and type_ in "nm":
+ if nonexistent and type_ in "nma":
dadd(fn)
continue
# check the common case first
--- a/tests/test-commit Thu Feb 14 18:08:16 2008 -0200
+++ b/tests/test-commit Thu Feb 14 18:08:16 2008 -0200
@@ -19,11 +19,12 @@
hg commit -d ' 1 4444' -m commit-6
hg commit -d '111111111111 0' -m commit-7
-echo % partial commit test
+echo % commit added file that has been deleted
echo bar > bar
hg add bar
rm bar
hg commit -d "1000000 0" -m commit-8 2>&1 | cleanpath
+hg commit -d "1000000 0" -m commit-8 bar 2>&1 | cleanpath
hg -q revert -a --no-backup
--- a/tests/test-commit.out Thu Feb 14 18:08:16 2008 -0200
+++ b/tests/test-commit.out Thu Feb 14 18:08:16 2008 -0200
@@ -12,9 +12,9 @@
rollback completed
abort: invalid date: 'foo bar'
nothing changed
-% partial commit test
-trouble committing bar!
-abort: No such file or directory: .../test/bar
+% commit added file that has been deleted
+nothing changed
+abort: file .../test/bar not found!
adding dir/file
dir/file
adding dir.file
--- a/tests/test-revert Thu Feb 14 18:08:16 2008 -0200
+++ b/tests/test-revert Thu Feb 14 18:08:16 2008 -0200
@@ -32,7 +32,7 @@
echo %% should show b added
hg status b
rm b
-echo %% should show b added
+echo %% should show b deleted
hg status b
hg revert -v b
echo %% should not find b
--- a/tests/test-revert.out Thu Feb 14 18:08:16 2008 -0200
+++ b/tests/test-revert.out Thu Feb 14 18:08:16 2008 -0200
@@ -20,8 +20,8 @@
? b
%% should show b added
A b
-%% should show b added
-A b
+%% should show b deleted
+! b
forgetting b
%% should not find b
b: No such file or directory