[Request] [+- ] D9666: actions: store deltareuse mode of whole operation in UpgradeOperation
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Wed Dec 30 11:53:27 UTC 2020
pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
UpgradeOperation should provide easy access to all the things related to the
current operation. Clients should not need to compute them.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D9666
AFFECTED FILES
mercurial/upgrade_utils/actions.py
mercurial/upgrade_utils/engine.py
CHANGE DETAILS
diff --git a/mercurial/upgrade_utils/engine.py b/mercurial/upgrade_utils/engine.py
--- a/mercurial/upgrade_utils/engine.py
+++ b/mercurial/upgrade_utils/engine.py
@@ -446,24 +446,13 @@
)
)
- if upgrade_op.has_upgrade_action(b're-delta-all'):
- deltareuse = revlog.revlog.DELTAREUSENEVER
- elif upgrade_op.has_upgrade_action(b're-delta-parent'):
- deltareuse = revlog.revlog.DELTAREUSESAMEREVS
- elif upgrade_op.has_upgrade_action(b're-delta-multibase'):
- deltareuse = revlog.revlog.DELTAREUSESAMEREVS
- elif upgrade_op.has_upgrade_action(b're-delta-fulladd'):
- deltareuse = revlog.revlog.DELTAREUSEFULLADD
- else:
- deltareuse = revlog.revlog.DELTAREUSEALWAYS
-
with dstrepo.transaction(b'upgrade') as tr:
_clonerevlogs(
ui,
srcrepo,
dstrepo,
tr,
- deltareuse,
+ upgrade_op.delta_reuse_mode,
upgrade_op.has_upgrade_action(b're-delta-multibase'),
revlogs=upgrade_op.revlogs_to_process,
)
diff --git a/mercurial/upgrade_utils/actions.py b/mercurial/upgrade_utils/actions.py
--- a/mercurial/upgrade_utils/actions.py
+++ b/mercurial/upgrade_utils/actions.py
@@ -12,6 +12,7 @@
error,
localrepo,
requirements,
+ revlog,
util,
)
@@ -646,6 +647,17 @@
i for i in all_optimizations if i not in self.upgrade_actions
]
+ # delta reuse mode of this upgrade operation
+ self.delta_reuse_mode = revlog.revlog.DELTAREUSEALWAYS
+ if b're-delta-all' in self._upgrade_actions_names:
+ self.delta_reuse_mode = revlog.revlog.DELTAREUSENEVER
+ elif b're-delta-parent' in self._upgrade_actions_names:
+ self.delta_reuse_mode = revlog.revlog.DELTAREUSESAMEREVS
+ elif b're-delta-multibase' in self._upgrade_actions_names:
+ self.delta_reuse_mode = revlog.revlog.DELTAREUSESAMEREVS
+ elif b're-delta-fulladd' in self._upgrade_actions_names:
+ self.delta_reuse_mode = revlog.revlog.DELTAREUSEFULLADD
+
def _write_labeled(self, l, label):
"""
Utility function to aid writing of a list under one label
To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20201230/38418830/attachment-0001.html>
More information about the Mercurial-patches
mailing list