Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Detecting rename target #15
fsnotify looks well structured, but there is one thing which makes it not very useful at the moment: it's not possible to get the rename target, nor the raw notify events. I guess that this is to have a consistent interface across operating systems.
The problem with not telling me the rename target is that
At the moment fsnotify outputs these events when I hit save:
The end result being that I don't know what file was modified by the editor.
It's not that I don't want to have this functionality. I really would, but I see no way to provide it.
FreeBSD/OSX - You need to open a file descriptor to watch it. The kevent does not specify the location of the file at all.
Linux - Events are received for the directory you watch, so if you are not watching the target directory, you will only get the event coming out of the directory you are watching.
Windows - I am less familiar with this one, but it appears all changes are based on the directory, not even watching individual files. So again, you need to watch the target directory.
I am hesitant to expose the underlying inotify event, because it makes the API less-consistent across operating systems and also because I'm not sure you'd gain the functionality you seek anyway.
Now, it may be possible that I have misread the documents, or there is some other way of doing this that I have not thought of. If I have missed something that will provide the rename functionality, please let me know. I'd be more than happy to rectify the situation.