diff -r 75ad8af9c95e -r 6e3dc1eff5c7 mercurial/upgrade.py --- 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):