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
echo '% Show all commands except debug commands'
hg debugcomplete
echo
echo '% Show all commands that start with "a"'
hg debugcomplete a
echo
echo '% Do not show debug commands if there are other candidates'
hg debugcomplete d
echo
echo '% Show debug commands if there are no other candidates'
hg debugcomplete debug
echo
echo '% Do not show the alias of a debug command if there are other candidates'
echo '% (this should hide rawcommit)'
hg debugcomplete r
echo
echo '% Show the alias of a debug command if there are no other candidates'
hg debugcomplete rawc
echo
echo '% Show the global options'
hg debugcomplete --options | sort
echo
echo '% Show the options for the "serve" command'
hg debugcomplete --options serve | sort
echo
echo '% Show an error if we use --options with an ambiguous abbreviation'
hg debugcomplete --options s
echo
echo '% Show all commands + options'
hg debugcommands
exit 0