Fixing
issue1542, adding a relevant test
inotify is smart enough to notify you about any changes in a
directory, even if you only watch the directory, and none if its
contents: the recursive add_watch I added was unnecessary.
The only thing that matters here is the recursive status update on
directory deletion.
And scan() has to be called _before_ the deferred call is registered.
(race condition: depending on the times, the previous patch could
apparently fail on the provided test. It's not the case anymore.)
#!/bin/sh
"$TESTDIR/hghave" icasefs || exit 80
echo '% test file addition with bad case'
hg init repo1
cd repo1
echo a > a
hg add A
hg st
hg ci -m adda
hg manifest
cd ..
echo '% test case collision on rename (issue 750)'
hg init repo2
cd repo2
echo a > a
hg --debug ci -Am adda
hg mv a A
# 'a' used to be removed under windows
test -f a || echo 'a is missing'
hg st
cd ..
echo '% test case collision between revisions (issue 912)'
hg init repo3
cd repo3
echo a > a
hg ci -Am adda
hg rm a
hg ci -Am removea
echo A > A
hg ci -Am addA
# Used to fail under case insensitive fs
hg up -C 0
hg up -C
cd ..