HomePhabricator

sidedata: replace sidedata upgrade mechanism with the new one

Authored by Alphare.

Description

sidedata: replace sidedata upgrade mechanism with the new one

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.

Differential Revision: https://phab.mercurial-scm.org/D10359