( )⚙ D10359 sidedata: replace sidedata upgrade mechanism with the new one

This is an archive of the discontinued Mercurial Phabricator instance.

sidedata: replace sidedata upgrade mechanism with the new one
ClosedPublic

Authored by Alphare on Apr 10 2021, 3:15 PM.

Details

Summary

Note: this is split into a separate change (like some other patches in this
series) because it's not easy to have all patches work 100% and this seemed
easier for reviewers.

When cloning or upgrading a repo, we may need to compute (or remove) sidedata.
This is the same mechanism that is used in exchange, so we re-use the new
system to simplify the code and fix the remaining issues (correctly dropping
flags and handling partial removal, etc.).

This also highlighted an issue with test-copies-in-changeset.t that kept
sidedata categories that are not relevant anymore. They should probably be
dropped entirely, but that would be for another patch.

Diff Detail

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

Event Timeline

Alphare created this revision.Apr 10 2021, 3:15 PM
Alphare updated this revision to Diff 27036.Apr 19 2021, 6:10 AM
Alphare updated this revision to Diff 27102.Apr 20 2021, 9:39 AM
marmoute requested changes to this revision.Apr 22 2021, 1:52 PM
marmoute added a subscriber: marmoute.
marmoute added inline comments.
mercurial/revlog.py
2121–2122

This is a gratuitous harmful change. If someone passed something else than the default None value. We should keep it.

This revision now requires changes to proceed.Apr 22 2021, 1:52 PM
Alphare marked an inline comment as done.Apr 30 2021, 6:00 AM
baymax updated this revision to Diff 27304.May 3 2021, 6:06 AM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

marmoute accepted this revision.May 3 2021, 7:46 AM
baymax updated this revision to Diff 27454.May 3 2021, 9:01 PM

✅ refresh by Heptapod after a successful CI run (🐙 💚)

This revision was not accepted when it landed; it landed in state Needs Review.
This revision was automatically updated to reflect the committed changes.