From a76027270868af50cb034c175e849380bb77cc94 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 27 Dec 2012 16:09:11 -0400 Subject: blog for the day --- doc/design/assistant/blog/day_158__fsevents.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/design/assistant/blog/day_158__fsevents.mdwn (limited to 'doc') diff --git a/doc/design/assistant/blog/day_158__fsevents.mdwn b/doc/design/assistant/blog/day_158__fsevents.mdwn new file mode 100644 index 000000000..472b6c2be --- /dev/null +++ b/doc/design/assistant/blog/day_158__fsevents.mdwn @@ -0,0 +1,20 @@ +Investigated using the OSX fsevents API to detect when files are modified, +so they can be committed when using direct mode. There's a +[haskell library](http://hackage.haskell.org/package/hfsevents-0.1.3) +and even a [sample directory watching program](http://hackage.haskell.org/package/hobbes). +Initial tests look good... + +Using fsevents will avoid kqueue's problems with needing enough file +descriptors to open every subdirectory. kqueue is a rather poor match for +git-annex's needs, really. It does not seem to provide events for file +modifications at all, unless every *file* is individually opened. While I +dislike leaving the BSD's out, they need a better interface to be perfectly +supported by git-annex, and kqueue will still work for indirect mode +repositories. + +---- + +Got the assistant to use fsevents. It seems to work well! + +The only problem I know of is that it doesn't yet handle whole directory +renames. That should be easy to fix later. -- cgit v1.2.3