From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-5.6 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by dcvr.yhbt.net (Postfix) with ESMTP id E5AE21F506 for ; Fri, 16 Sep 2022 17:59:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229714AbiIPR66 (ORCPT ); Fri, 16 Sep 2022 13:58:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229669AbiIPR65 (ORCPT ); Fri, 16 Sep 2022 13:58:57 -0400 Received: from siwi.pair.com (siwi.pair.com [209.68.5.199]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEB8AA6ADE for ; Fri, 16 Sep 2022 10:58:55 -0700 (PDT) Received: from siwi.pair.com (localhost [127.0.0.1]) by siwi.pair.com (Postfix) with ESMTP id EE8DBCA1238; Fri, 16 Sep 2022 13:58:54 -0400 (EDT) Received: from jeffhost-mbp.local (unknown [IPv6:2600:1008:b046:9928:d9b3:686c:9bea:ee52]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by siwi.pair.com (Postfix) with ESMTPSA id 3E83ACC833D; Fri, 16 Sep 2022 13:58:54 -0400 (EDT) Subject: Re: [PATCH v6 0/6] fsmonitor: option to allow fsmonitor to run against network-mounted repos To: Eric DeCosta via GitGitGadget , git@vger.kernel.org Cc: Eric Sunshine , =?UTF-8?Q?Torsten_B=c3=b6gershausen?= , =?UTF-8?B?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= , Ramsay Jones , Johannes Schindelin , Eric DeCosta References: From: Jeff Hostetler Message-ID: Date: Fri, 16 Sep 2022 13:58:53 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: mailmunge 3.09 on 209.68.5.199 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On 9/13/22 4:27 PM, Eric DeCosta via GitGitGadget wrote: > Follow-on to the work done to allow Windows to work against network-mounted > repos for macOS. > > Have macOS take advantage of the same configuration option, > 'fsmonitor.allowRemote' that was introduced for Windows. Setting this option > to true will override the default behavior (erroring-out) when a > network-mounted repo is detected by fsmonitor. > > The added wrinkle being that the Unix domain socket (UDS) file used for IPC > cannot be created in a network location; instead $HOME is used if the > default location is on the network. The user may, optionally, set the > 'fsmonitor.socketDir' configuration option to a valid, local directory if > $HOME itself is on the network or is simply not the desired location for the > UDS file. > > An additional issue is that for mount points in the root directory, FSEvents > does not report a path that matches the worktree directory due to the > introduction of 'synthetic firmlinks'. fsmonitor must map the FSEvents paths > to the worktree directory by interrogating the root filesystem for synthetic > firmlinks and using that information to translate the path. > > v6 differs from v5: > > * incorporates earlier, Windows-specific changes that have not made it back > yet to the master branch > * incorporates code review feedback > * adds documentation for 'fsmonitor.allowRemote' and 'fsmonitor.socketDir' > > v5 differs significantly from earlier versions: > > * redesign of handling 'fsmonitor.allowRemote' and 'fsmonitor.socketDir' > such that these options are no longer added to the settings data > structure but are rather read from config at point of use > * refactoring of code for handling platform-specific file system checks via > a common interface to avoid platform #ifdef in IPC code and be in-model > with other platform-specific fsmonitor code > * dealing with 'synthetic firmlinks' on macOS > I've looked at v5 and v6 and I like the direction this is heading, so I'll mark this LGTM. (I'm still traveling back from Git Merge, so I haven't had time to test it out, but I think we should proceed with it.) Thanks for you patience and attention to detail on this! Jeff