Re: Detecting when bulk file-system operations complete
- From
Philip Oakley <philipoakley@iee.email>
- Date
- Mar 31, 2021, 16:03 UTC
- Message-ID
- <5a1abc6b-52a3-fc12-166f-8af5e7bdff48@iee.email>
- In-Reply-To
- <CAJd66x6XT7m5Njg2kRyGJ80rU6WNcLifijS98=onJeBz+74rrA@mail.gmail.com>
Hi Drew,
On 31/03/2021 04:39, Drew Noakes wrote:
Show 22 quoted lines
> 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