From: Jeff Hostetler Date: Tue, 13 Jul 2021 15:46:05 GMT Subject: Re: [PATCH v3 19/34] fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows Message-ID: In-Reply-To: <87k0m9bpmv.fsf@evledraar.gmail.com> On 7/1/21 7:02 PM, Ævar Arnfjörð Bjarmason wrote: > > On Thu, Jul 01 2021, Jeff Hostetler via GitGitGadget wrote: > >> From: Jeff Hostetler >> >> Teach the win32 backend to register a watch on the working tree >> root directory (recursively). Also watch the if it is >> not inside the working tree. And to collect path change notifications >> into batches and publish. >> >> Signed-off-by: Jeff Hostetler >> --- >> compat/fsmonitor/fsmonitor-fs-listen-win32.c | 530 +++++++++++++++++++ > > Spying on the early history of this (looking for the > Linux backend) I saw that at some point we had just > compat/fsmonitor/linux.c, and presumably some of > compat/fsmonitor/{windows,win32,macos,darwin}.c. > > At some point those filenames became much much longer. > Once upon a time having "foo/bar/win32.c" and "abc/def/win32.c" would cause confusion in the debugger (I've long since forgotten which). Breaking at win32.c:30 was no longer unique. Also, if the Makefile sends all .o's to the root directory or a unified OBJS directory rather than to the subdir containing the .c, then we have another issue during linking... So, having been burned too many times, I prefer to make source filenames unique when possible. > I've noticed you tend to prefer really long file and function names, > e.g. your borrowed daemonize() became > spawn_background_fsmonitor_daemon(), I think aiming for shorter > filenames & function names helps, e.g. these long names widen diffstats, > and many people who hack on the code stick religiously to 80 character > width terminals. > I prefer self-documenting code. Jeff