| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
| |
It already applied the pruner when traversing directories, so .git is
excluded, but .gitignore was not. Now it is.
|
|
|
|
|
| |
This avoids blocking all threads when calling waitchange_kqueue,
which blocks.
|
| |
|
| |
|
| |
|
|
|
|
| |
Don't fall over symlinks, and avoid crashing if the file goes away.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is necessary to generate events when a file is deleted and immediately
replaced. Otherwise, the cache will have the old file, and so no event
would be generated.
Use of getFileStatus is suboptimal, it would be faster to use
the inode returned by readdir -- but getDirectoryContents does not expose
it, so I'd have to copy and modify a lot of low-level code.
|
| |
|
| |
|
|
|
|
| |
Handle kevent interruptions in the haskell code, so it can yield to other threads
|
|
|
|
| |
new event dispatch seems a bit broken though
|
|
|
|
|
| |
Kqueue code for dispatching events is not tested and probably doesn't
build.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This *may* now return Add or Delete Changes as appropriate. All I know
for sure is that it compiles.
I had hoped to avoid maintaining my own state about the content of the
directory tree, and rely on git to check what was changed. But I can't;
I need to know about new and deleted subdirectories to add them to the
watch list, and git doesn't deal with (empty) directories.
So, wrote all the code to scan directories, remember their past contents,
compare with current contents, generate appropriate Change events, and
update bookkeeping info appropriately.
|
| |
|
| |
|
|
|
|
|
| |
Have not tried to build this yet. But barring minor mistakes, I think it's
good.
|
|
|
|
| |
Will need to update the DirMap to add or remove subdirs.
|
| |
|
|
|