This is an archive of the discontinued Mercurial Phabricator instance.

clonebundles: optional memory-requirement attribution
ClosedPublic

Authored by joerg.sonnenberger on Jun 21 2020, 6:40 PM.

Details

Summary

The new REQUIREDRAM option allows a client to skip bundles it isn't
expected to handle well, e.g. without swapping. This allows a fallback
path to be provided e.g. using zstd level 10 instead of 22.

Diff Detail

Repository
rHG Mercurial
Branch
stable
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

durin42 accepted this revision as: durin42.Jun 25 2020, 1:30 PM
durin42 added a subscriber: durin42.

I'm a fan of this, but for default, not stable. Is there a specific reason you need a new feature on the stable branch?

No strong reason, it just was easier to start as base line.

pulkit added a subscriber: pulkit.Jul 7 2020, 2:10 PM
pulkit added inline comments.
mercurial/exchange.py
3038

need to add a constant describing what the magic 0.66 means, which can probably be configured by extensions?

mercurial/exchange.py
3038

Just a guess how much memory we can safely use on a system without grinding to death due to swapping. It is not meant for customization, if it is necessary to manually override, the user can bump ui.available-memory appropiately.

pulkit accepted this revision.Jul 10 2020, 6:03 AM
This revision is now accepted and ready to land.Jul 10 2020, 6:03 AM