P2D2::Prevent excessive browser updates during build

Issue #177 resolved
Eugene Golushkov
created an issue

Hi, Jason.

I work now on large project with clean build time near 30 minutes and team of 15 members. We note, that during build MacHG continuously updates browser window and several builders can overload mercurial server. Usually it can be seen as long list of "Refresh Browser Data" notifications, 10-20 of them to be precise and frequent server timeouts. All of this is caused by filesystem events flow from build`s output location, despite that it is mentioned in .hgignore file.

So, here is patch that combines multiple refresh requests to the same location that occurs during processing of the first such request. Additionally, it performs filtering of refresh requests using .hgignore file - very simple one, without glob`s processing. I hope this patch would be useful.

With best regards, Eugene Golushkov

Comments (7)

  1. Jason Harris repo owner

    Thanks for the report!!

    I was actually aware of it and I agree that it's annoying. Funnily enough I had just started working on this exact problem myself over the weekend. In fact I submitted a debugignore command to Mercurial proper, which allows one to grab the full regex of all the ignores. I haven't yet hooked it up into the fileEventsOccurredIn: inside MacHg but I will do it very shortly...

    But thank you for the patch. If I had not fixed this bug using debugingore I would have started with your patch and progressed. Its always nice to get patches! Thanks!

    Cheers, Jas

  2. Jason Harris repo owner

    - Fix issue 177. Respect the combined regex from the .hgignore files returned by debugignore. - Also check the last modification dates on the common .hgignore files to ensure that if they change we will refresh the combined hgignore regex.

    3fcfe1776abc

  3. Log in to comment