This is an archive of the discontinued Mercurial Phabricator instance.

repository: remove storedeltachains from ifilestorage
ClosedPublic

Authored by indygreg on Aug 9 2018, 7:12 PM.

Details

Summary

The ifilestorage interface was bootstrapped from requirements of
callers outside the storage implementation (revlogs). I believe we
even made some members public so they could be part of the interface!

Historically, the changegroup code was a gross offender when it
came to accessing low-level storage primitives. There are a handful
of members on the ifilestorage interface that are/were used only
for changegroup code.

With the recent refactor of changegroup code and the establishment
of a formal API on the storage interface for producing revision
deltas, the changegroup code is no longer accessing these low-level
primitives related to delta generation directly. Instead, things
are abstracted away in the storage implementation.

This means we can remove elements from the storage interface that
are no longer needed.

We start with "storedeltachains."

We remove it from the interface. Then we make it a private
attribute and update all references.

.. api:: storedeltachains has been dropped from ifilestorage interface

.. api:: storedeltachains on revlog classes is now _storedeltachains

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.