This is an archive of the discontinued Mercurial Phabricator instance.

branchmap: update rev-branch-cache incrementally
ClosedPublic

Authored by joerg.sonnenberger on Jan 14 2021, 8:19 PM.

Details

Summary

Historically, the revision to branch mapping cache was updated on demand
and shared via bundle2 to avoid the cost of rebuilding on first use.

Use the new register_changeset callback and update rbc directly on
every change. Make the transfer of the bundle part redundant, but keep
it for the moment to avoid the test churn.

Over all, "hg unbundle" for large bundles is less than 1.8% slower for
different larger repositories and that seems to a reasonable trade off.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.