Open mlacorte opened 9 years ago
My guess is that on the whole the behavior around moving a directory that is watched is undefined. We probably need to allow the user to specify whether a directory should be watched after moved, but a possible default that may work cross-platform is to stop watching it.
This is just how inotify
works--when you move the directory it is moving the inode but it's still watching the same inode.
Solution: we should detect the IN_MOVED_FROM
and IN_MOVED_TO
events and emit events/update watches accordingly. For example, if a folder is moved outside of a watched tree, we should stop watching it entirely.
Just got hit by a variant on this myself using the conduit version.
Description
After moving a directory that hfsnotify is watching, hfsnotify reports changes inside that directory as if it had not been moved.
Only the NativeManager on Linux is affected.
I have not tested the NativeManager on OS X or Windows.
Steps to Reproduce
Run the following Bash script:
Run the following Haskell program:
While the Haskell program is running, run the following Bash script:
Expected Output
Actual Output
The following is printed from the Haskell program: