http://mercurial.selenic.com/bts/issue322
File replaced with directory:
$ hg init a
$ cd a
$ echo a > a
$ hg commit -Ama
adding a
$ rm a
$ mkdir a
$ echo a > a/a
Should fail - would corrupt dirstate:
$ hg add a/a
abort: file 'a' in dirstate clashes with 'a/a'
[255]
$ cd ..
Directory replaced with file:
$ hg init c
$ cd c
$ mkdir a
$ echo a > a/a
$ hg commit -Ama
adding a/a
$ rm -r a
$ echo a > a
Should fail - would corrupt dirstate:
$ hg add a
abort: directory 'a' already in dirstate
[255]
$ cd ..
Directory replaced with file:
$ hg init d
$ cd d
$ mkdir b
$ mkdir b/c
$ echo a > b/c/d
$ hg commit -Ama
adding b/c/d
$ rm -r b
$ echo a > b
Should fail - would corrupt dirstate:
$ hg add b
abort: directory 'b' already in dirstate
[255]