Re: [PATCH v5 03/15] index-helper: new daemon for caching index and related stuff
From: Duy Nguyen <hidden>
Date: 2016-06-16 02:18:52
On Wed, Apr 20, 2016 at 7:17 PM, Johannes Schindelin [off-list ref] wrote:
quoted
We keep this daemon's logic as thin as possible. The "brain" stays in git. So the daemon can read and validate stuff, but that's all it's allowed to do. It does not add/create new information. It doesn't even accept direct updates from git.I like this design. For now. Later, I really think we should add the ability to update the index via the index-helper.
Later we do. For watchman, index-helper creates and shares a piece of information retrieved from watchman, which has to be combined back to the index by git process. But it's still not a _direct_ index update.
I am thinking about a method similar to watchman where a separate process (that may use the inotify syscall on Linux, or tap into the NTFS journal on Windows) tells the index-helper specifically which paths to look at, so that nobody ever has to look at any files that were not modified at all.
Am I missing something here? I thought watchman could already run on Windows. We benefit from watchman, which was originally written for Mercurial. If there's a better way to do inotify equivalent for Windows, is it possible to do it in watchman so Mercurial can benefit from it too? On Wed, Apr 20, 2016 at 7:19 PM, Johannes Schindelin [off-list ref] wrote:
quoted
On Wed, Apr 20, 2016 at 6:27 AM, David Turner [off-list ref] wrote:quoted
Shared memory is done by storing files in a per-repository temporary directory. This is more portable than shm (which requires posix-realtime and has various quirks on OS X). It might even work on Windows, although this has not been tested.There's another option, but I'm not sure if it's too clever/tricky to do. Anyway, on *nix we can send file descriptors over unix socket [2], then mmap them back to access content.This sounds too clever to me ;-)
Well. At least we have considered everything (that I'm aware of). -- Duy