--- a/mercurial/upgrade.py Tue Apr 14 04:23:20 2020 +0200
+++ b/mercurial/upgrade.py Wed Apr 15 19:20:15 2020 +0200
@@ -1274,6 +1274,17 @@
ui.write((b'\n'))
ui.write(b'\n')
+ def printoptimisations():
+ optimisations = [a for a in actions if a.type == optimisation]
+ optimisations.sort(key=lambda a: a.name)
+ if optimisations:
+ ui.write(_(b'optimisations: '))
+ write_labeled(
+ [a.name for a in optimisations],
+ "upgrade-repo.optimisation.performed",
+ )
+ ui.write(b'\n\n')
+
def printupgradeactions():
for a in actions:
ui.write(b'%s\n %s\n\n' % (a.name, a.upgrademessage))
@@ -1327,6 +1338,7 @@
)
printrequirements()
+ printoptimisations()
printupgradeactions()
unusedoptimize = [i for i in alloptimizations if i not in actions]
@@ -1345,6 +1357,7 @@
# Else we're in the run=true case.
ui.write(_(b'upgrade will perform the following actions:\n\n'))
printrequirements()
+ printoptimisations()
printupgradeactions()
upgradeactions = [a.name for a in actions]
--- a/tests/test-upgrade-repo.t Tue Apr 14 04:23:20 2020 +0200
+++ b/tests/test-upgrade-repo.t Wed Apr 15 19:20:15 2020 +0200
@@ -183,6 +183,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -207,6 +209,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -569,6 +573,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -643,6 +649,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -689,6 +697,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -735,6 +745,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -786,6 +798,8 @@
preserved: dotencode, fncache, generaldelta, revlogv1, store
removed: sparserevlog
+ optimisations: re-delta-parent
+
re-delta-parent
deltas within internal storage will choose a new base revision if needed
@@ -835,6 +849,8 @@
preserved: dotencode, fncache, generaldelta, revlogv1, store
added: sparserevlog
+ optimisations: re-delta-parent
+
sparserevlog
Revlog supports delta chain with more unused data between payload. These gaps will be skipped at read time. This allows for better delta chains, making a better compression and faster exchange with server.
@@ -923,6 +939,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-fulladd
+
re-delta-fulladd
each revision will be added as new content to the internal storage; this will likely drastically slow down execution time, but some extensions might need it
@@ -1135,6 +1153,8 @@
requirements
preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
+ optimisations: re-delta-all
+
re-delta-all
deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time