inotify: proper fix for issue1542 (partially reverting 67e59a9886d5)
issue1542 description:
Unknown files (?) placed in a directory are still marked as present and unknown
when the containing directory is moved out of the repository scope.
Why 67e59a9886d5 was bad:
* When the problem we're addressing only deals with unknown files, the fix to
updatestatus applies for all statuses
* The only reason to move the call schedule_work(wpath, 'd') seems to be that
it allowed an updatestatus call on the deleted directory, in deleted(). But
deleted() should not be called on directories in the first place.
* After fixing an independant issue (1371), test-inotify-issue1542 was failing
Fix:
When processing a deletion of a directory, walk the tree of the unknown files
and remove the entries from repowatcher.
This step does not need to be added in the generic scan() routine: it is only
necessary on a directory deletion.
#
# tcsh completion for Mercurial
#
# This file has been auto-generated by tcsh_completion_build.sh for
# Mercurial Distributed SCM (version 1.1.2)
#
# Copyright (C) 2005 TK Soh.
#
# This is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
complete hg \
'n/--cwd/d/' 'n/-R/d/' 'n/--repository/d/' \
'C/-/( -R --repository \
--cwd \
-y --noninteractive \
-q --quiet \
-v --verbose \
--config \
--debug \
--debugger \
--encoding \
--encodingmode \
--lsprof \
--traceback \
--time \
--profile \
--version \
-h --help)/' \
'p/1/(add addremove annotate blame archive \
backout bisect branch branches bundle \
cat clone commit ci copy \
cp debugancestor debugcheckstate debugcomplete debugdata \
debugdate debugfsinfo debugindex debugindexdot debuginstall \
debugrawcommit rawcommit debugrebuildstate debugrename debugsetparents \
debugstate debugwalk diff export grep \
heads help identify id import \
patch incoming in init locate \
log history manifest merge outgoing \
out parents paths pull push \
recover remove rm rename mv \
resolve revert rollback root serve \
showconfig debugconfig status st tag \
tags tip unbundle update up \
checkout co verify version)/'