Serious performance degradation using workbench "Branch" filter
I've just switched my team to Mercurial and have a well structured clean repository of around 8 years development.
Clones with null take up around 200mb. Until last week it only had one branch ("default") with 38000 revisions (we only imported trunk from Svn). Plus several daily anonymous branches from normal team work on default.
This week we've started using named branches for features. We've got around 5 such named branches, each with around 5 commits, plus some merges from default to feature.
I want to avoid accidental reintegration of features (merging B into A instead of A into B). This happened already on day 1, and is impossible to fix - backout means you can't subsequently re-integrate.
So my current advice is to use the Branch filter to the branch you're working in. And to use a custom script to routinely merge from default (dev) into feature.
This way someone working on default can't accidentally right-click and merge from feature, thinking they are simply merging two heads in default.
(I'm interested in any other ideas for how to solve this - possibly a central repo hook - but I appreciate this isn't the place for such a discussion).
However, the moment you change " Show all " to "default" (or any other named branch), the workbench slows down by a couple of orders of magnitude. Refreshing takes many seconds instead of near-instantaneous, for example. Navigating through update/merge dialogs is equally slow (presumably it's refreshing the window).
I've tried disabling all extensions, nuking any custom settings, and changing the log from 500 to 100, restarting each time, to no effect.
Executing this in cmd is instantaneous: hg log -l 100 -b default > nul
This is a commercial repository so I can't share anything sensitive. Is there anything I can do to log or profile what the workbench is doing to help diagnose?
Using 2.7.2 on Win7 x64 on a top-end i7 with 32gb and repo on SSD.