Re: [PATCH v4 03/16] index-helper: new daemon for caching index and related stuff
From: David Turner <hidden>
Date: 2016-06-16 02:18:49
On Thu, 2016-04-14 at 17:04 +0700, Duy Nguyen wrote:
On Thu, Apr 14, 2016 at 1:47 AM, David Turner < dturner@twopensource.com> wrote:quoted
On Wed, 2016-04-13 at 20:43 +0700, Duy Nguyen wrote:quoted
On Wed, Apr 13, 2016 at 7:32 AM, David Turner < dturner@twopensource.com> wrote:quoted
+NOTES +----- + +$GIT_DIR/index-helper.path is a symlinkIn multiple worktree context, this file will be per-worktree. So we have one daemon per worktree. I think that's fine.quoted
to a directory in $TMPDIR +containing a Unix domain socket called 's' that the daemon reads +commands from.Oops. I stand corrected, now it's one daemon per repository... Probably good to hide the socket path in $GIT_DIR though, people may protect it with dir permission of one of ancestor directories.I'm not sure I understand what you're saying here. It should be one daemon per worktree, I think. And as far as I know, it is.No you're right, it's still per worktree. I assumed $GIT_DIR/index-helper.path points to the same $TMPDIR, but it's not.quoted
Socket paths must be short (less than 104 chars on Mac). That's why I do the weird symlink-to-tmpdir thing.Is relative path in sun_path portable? We could just chdir() there, open the socket and chdir() back. Though if the current solution's already good enough, I don't think we need to change this again. Hmm.. googling a bit pointed me back to Jeff's patch that does exactly that. The commit is 1eb10f4 (unix-socket: handle long socket pathnames - 2012-01-09). It does not mention Mac though, neither does the related discussion on mailing list..
In that case, I guess we can put the socket in $GITDIR and save the annoyance of the temp dir. Seems legit to me.