[Updated] D11867: upgrade: move the revlog selection code lower down the chain
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri Dec 10 15:46:57 UTC 2021
Closed by commit rHG6e045497b20b: upgrade: move the revlog selection code lower down the chain (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11867?vs=31330&id=31417
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11867/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11867
AFFECTED FILES
mercurial/upgrade.py
CHANGE DETAILS
diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py
--- a/mercurial/upgrade.py
+++ b/mercurial/upgrade.py
@@ -45,24 +45,11 @@
optimize = {}
repo = repo.unfiltered()
- revlogs = set(upgrade_engine.UPGRADE_ALL_REVLOGS)
specentries = (
(upgrade_engine.UPGRADE_CHANGELOG, changelog),
(upgrade_engine.UPGRADE_MANIFEST, manifest),
(upgrade_engine.UPGRADE_FILELOGS, filelogs),
)
- specified = [(y, x) for (y, x) in specentries if x is not None]
- if specified:
- # we have some limitation on revlogs to be recloned
- if any(x for y, x in specified):
- revlogs = set()
- for upgrade, enabled in specified:
- if enabled:
- revlogs.add(upgrade)
- else:
- # none are enabled
- for upgrade, __ in specified:
- revlogs.discard(upgrade)
# Ensure the repository can be upgraded.
upgrade_actions.check_source_requirements(repo)
@@ -99,6 +86,24 @@
removedreqs = repo.requirements - newreqs
addedreqs = newreqs - repo.requirements
+ # check if we need to touch revlog and if so, which ones
+
+ revlogs = set(upgrade_engine.UPGRADE_ALL_REVLOGS)
+ specified = [(y, x) for (y, x) in specentries if x is not None]
+ if specified:
+ # we have some limitation on revlogs to be recloned
+ if any(x for y, x in specified):
+ revlogs = set()
+ for upgrade, enabled in specified:
+ if enabled:
+ revlogs.add(upgrade)
+ else:
+ # none are enabled
+ for upgrade, __ in specified:
+ revlogs.discard(upgrade)
+
+ # check the consistency of the revlog selection with the planned action
+
if revlogs != upgrade_engine.UPGRADE_ALL_REVLOGS:
incompatible = upgrade_actions.RECLONES_REQUIREMENTS & (
removedreqs | addedreqs
To: marmoute, #hg-reviewers, Alphare
Cc: Alphare, mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20211210/2418bcfe/attachment-0002.html>
More information about the Mercurial-patches
mailing list