Re: Detecting when bulk file-system operations complete
flat view
From: Philip Oakley <hidden>
Date: 2021-03-31 16:03:59
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