Mercurial > public > mercurial-scm > hg-stable
diff mercurial/upgrade.py @ 43135:6e3dc1eff5c7
upgrade: allow for `sidedata` removal
If the side-date feature is removed, we need to drop them.
Differential Revision: https://phab.mercurial-scm.org/D6943
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 06 Oct 2019 23:36:51 -0400 |
parents | 75ad8af9c95e |
children | f9dc98a97cdb |
line wrap: on
line diff
--- a/mercurial/upgrade.py Sun Oct 06 23:36:51 2019 -0400 +++ b/mercurial/upgrade.py Sun Oct 06 23:36:51 2019 -0400 @@ -76,6 +76,7 @@ """ supported = { localrepo.SPARSEREVLOG_REQUIREMENT, + localrepo.SIDEDATA_REQUIREMENT, } for name in compression.compengines: engine = compression.compengines[name] @@ -679,8 +680,18 @@ ) -def getsidedatacompanion(srcrepo, destrepo): - return None +def getsidedatacompanion(srcrepo, dstrepo): + sidedatacompanion = None + removedreqs = srcrepo.requirements - dstrepo.requirements + if localrepo.SIDEDATA_REQUIREMENT in removedreqs: + + def sidedatacompanion(rl, rev): + rl = getattr(rl, '_revlog', rl) + if rl.flags(rev) & revlog.REVIDX_SIDEDATA: + return True, (), {} + return False, (), {} + + return sidedatacompanion def matchrevlog(revlogfilter, entry):