In fact the behavior of inotify for the last status call is correct, but the
dirstate is corrupted and feeding inotify wrong information:
$ hg init t
$ cd t
$ echo content > file
$ hg add file
$ hg qnew -f test.patch
$ hg status
$ hg qapplied
test.patch
$ hg qpop
patch queue now empty
$ hg status
$ hg qpush
applying test.patch
now at: test.patch
$ hg debugstate
a 0 -1 unset file
Without inotify, debugstate outputs a "n" status for file instead of "a"
Most likely, this dirstate corruption is caused in the first place by a status()
call emanating from mq, getting wrongly answered by inotify. and mq then
restores wrong dirstate information when qpushing?
nose-ing djc: can you help me understanding _when_ mq would modify the dirstate
to add a file, and using which information? |