Robert Zeh wrote: > From the description so far, I have some question: how does the daemon get started and stopped? Is there one per repository ... What about getting systemd to watch everything for us? Then we can just have one daemon reporting filesystem changes over one global socket. It's API should be the inotify subset: systemd_add_watch systemd_remove_watch Except systemd_add_watch also accepts a UNIX socket to send lstat events to. Our preload_index() is just reduced to making one systemd_add_watch() call the very first time and updating the index as necessary. Now, what about desktops with huge uptimes (like mine)? Won't they get polluted with too many useless watches over time? Simple: timeout. If nobody reads from the UNIX socket for two hours after a systemd_add_watch, execute systemd_remove_watch automatically. Someone must implement a similar daemon on other platforms reporting information in exactly the same way (although with different internals). IP sockets are system-wide and all platforms have them, so the communication channel is also standardized. This is much better than Junio's suggestion to study possible implementations on all platforms and designing a generic daemon/ communication channel. That's no weekend project. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html