Hi Drew, On 31/03/2021 04:39, Drew Noakes wrote: > Hi, > > I develop IDE tooling that watches a repo's workspace and reacts to changes. > > Bulk file-system changes (i.e. branch switch, rebase, merge, > cherry-pick) trigger lots of file system events, and my tooling should > ignore intermediary updates. Currently I debounce events with a fixed > time span, but would like a more reliable and performant approach to > scheduling this reactive work. > > Can this be done by monitoring the GITDIR in some way? For example, is > there a file that's present when these operations are in flight, and > which is removed when they complete? > > If an operation is interrupted (i.e. merge or rebase that hits a > conflict) my tooling should consider the bulk operation as complete. > This means that detecting a git-rebase-todo file or > rebase-merge/rebase-apply folder is not adequate. > > Any help appreciated. Thanks! > > Drew. You may want to look at the various bits of work on `fsmonitor` etc on the mailing list archive https://lore.kernel.org/git/?q=fsmonitor to ensure that all the different approaches inter-operate with reasonable efficiency.. -- Philip