Mercurial > hg
comparison tests/test-upgrade-repo.t @ 48448:62e6222cc5b6
upgrade: only process revlogs that needs it by default
We have more and more requirement that does not affect revlog or that only
affect some of them. It is silly to force a full processing of all revlog to
juste move the requirement around, or to simply rewrite the dirstate.
So now, only the revlog that needs to be touched will be touched. Unless the
--changelog & al flags are used.
Differential Revision: https://phab.mercurial-scm.org/D11871
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 06 Dec 2021 17:54:39 +0100 |
parents | 8405c1bffacf |
children | 5e6542143d40 |
comparison
equal
deleted
inserted
replaced
48447:8405c1bffacf | 48448:62e6222cc5b6 |
---|---|
211 | 211 |
212 requirements | 212 requirements |
213 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !) | 213 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !) |
214 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !) | 214 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !) |
215 | 215 |
216 processed revlogs: | 216 no revlogs to process |
217 - all-filelogs | |
218 - changelog | |
219 - manifest | |
220 | 217 |
221 additional optimizations are available by specifying "--optimize <name>": | 218 additional optimizations are available by specifying "--optimize <name>": |
222 | 219 |
223 re-delta-parent | 220 re-delta-parent |
224 deltas within internal storage will be recalculated to choose an optimal base revision where this was not already done; the size of the repository may shrink and various operations may become faster; the first time this optimization is performed could slow down upgrade execution considerably; subsequent invocations should not run noticeably slower | 221 deltas within internal storage will be recalculated to choose an optimal base revision where this was not already done; the size of the repository may shrink and various operations may become faster; the first time this optimization is performed could slow down upgrade execution considerably; subsequent invocations should not run noticeably slower |
236 $ hg debugupgraderepo --quiet | 233 $ hg debugupgraderepo --quiet |
237 requirements | 234 requirements |
238 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !) | 235 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !) |
239 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !) | 236 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !) |
240 | 237 |
241 processed revlogs: | 238 no revlogs to process |
242 - all-filelogs | |
243 - changelog | |
244 - manifest | |
245 | 239 |
246 | 240 |
247 --optimize can be used to add optimizations | 241 --optimize can be used to add optimizations |
248 | 242 |
249 $ hg debugupgrade --optimize 're-delta-parent' | 243 $ hg debugupgrade --optimize 're-delta-parent' |
961 $ echo "[format]" > .hg/hgrc | 955 $ echo "[format]" > .hg/hgrc |
962 $ echo "sparse-revlog=no" >> .hg/hgrc | 956 $ echo "sparse-revlog=no" >> .hg/hgrc |
963 $ hg debugupgrade --optimize re-delta-parent --no-manifest --no-backup --quiet | 957 $ hg debugupgrade --optimize re-delta-parent --no-manifest --no-backup --quiet |
964 warning: ignoring --no-manifest, as upgrade is changing: sparserevlog | 958 warning: ignoring --no-manifest, as upgrade is changing: sparserevlog |
965 | 959 |
966 ignoring revlogs selection flags, format requirements change: sparserevlog | |
967 requirements | 960 requirements |
968 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !) | 961 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !) |
969 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !) | 962 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !) |
970 removed: sparserevlog | 963 removed: sparserevlog |
971 | 964 |
978 | 971 |
979 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback | 972 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback |
980 note: selecting all-filelogs for processing to change: sparserevlog | 973 note: selecting all-filelogs for processing to change: sparserevlog |
981 note: selecting changelog for processing to change: sparserevlog | 974 note: selecting changelog for processing to change: sparserevlog |
982 | 975 |
983 ignoring revlogs selection flags, format requirements change: sparserevlog | |
984 upgrade will perform the following actions: | 976 upgrade will perform the following actions: |
985 | 977 |
986 requirements | 978 requirements |
987 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !) | 979 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !) |
988 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !) | 980 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !) |
1036 $ echo "sparse-revlog=yes" >> .hg/hgrc | 1028 $ echo "sparse-revlog=yes" >> .hg/hgrc |
1037 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback | 1029 $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback |
1038 note: selecting all-filelogs for processing to change: sparserevlog | 1030 note: selecting all-filelogs for processing to change: sparserevlog |
1039 note: selecting changelog for processing to change: sparserevlog | 1031 note: selecting changelog for processing to change: sparserevlog |
1040 | 1032 |
1041 ignoring revlogs selection flags, format requirements change: sparserevlog | |
1042 upgrade will perform the following actions: | 1033 upgrade will perform the following actions: |
1043 | 1034 |
1044 requirements | 1035 requirements |
1045 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !) | 1036 preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !) |
1046 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !) | 1037 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !) |
1693 added: dirstate-v2 | 1684 added: dirstate-v2 |
1694 | 1685 |
1695 dirstate-v2 | 1686 dirstate-v2 |
1696 "hg status" will be faster | 1687 "hg status" will be faster |
1697 | 1688 |
1698 processed revlogs: | 1689 no revlogs to process |
1699 - all-filelogs | |
1700 - changelog | |
1701 - manifest | |
1702 | 1690 |
1703 beginning upgrade... | 1691 beginning upgrade... |
1704 repository locked and read-only | 1692 repository locked and read-only |
1705 creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) | 1693 creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) |
1706 (it is safe to interrupt this process any time before data migration completes) | 1694 (it is safe to interrupt this process any time before data migration completes) |
1722 | 1710 |
1723 requirements | 1711 requirements |
1724 preserved: * (glob) | 1712 preserved: * (glob) |
1725 removed: dirstate-v2 | 1713 removed: dirstate-v2 |
1726 | 1714 |
1727 processed revlogs: | 1715 no revlogs to process |
1728 - all-filelogs | |
1729 - changelog | |
1730 - manifest | |
1731 | 1716 |
1732 beginning upgrade... | 1717 beginning upgrade... |
1733 repository locked and read-only | 1718 repository locked and read-only |
1734 creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) | 1719 creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob) |
1735 (it is safe to interrupt this process any time before data migration completes) | 1720 (it is safe to interrupt this process any time before data migration completes) |
1760 added: dirstate-v2 | 1745 added: dirstate-v2 |
1761 | 1746 |
1762 dirstate-v2 | 1747 dirstate-v2 |
1763 "hg status" will be faster | 1748 "hg status" will be faster |
1764 | 1749 |
1765 processed revlogs: | 1750 no revlogs to process |
1766 - all-filelogs | |
1767 - changelog | |
1768 - manifest | |
1769 | 1751 |
1770 beginning upgrade... | 1752 beginning upgrade... |
1771 repository locked and read-only | 1753 repository locked and read-only |
1772 creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob) | 1754 creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob) |
1773 (it is safe to interrupt this process any time before data migration completes) | 1755 (it is safe to interrupt this process any time before data migration completes) |
1784 | 1766 |
1785 requirements | 1767 requirements |
1786 preserved: * (glob) | 1768 preserved: * (glob) |
1787 removed: dirstate-v2 | 1769 removed: dirstate-v2 |
1788 | 1770 |
1789 processed revlogs: | 1771 no revlogs to process |
1790 - all-filelogs | |
1791 - changelog | |
1792 - manifest | |
1793 | 1772 |
1794 beginning upgrade... | 1773 beginning upgrade... |
1795 repository locked and read-only | 1774 repository locked and read-only |
1796 creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob) | 1775 creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob) |
1797 (it is safe to interrupt this process any time before data migration completes) | 1776 (it is safe to interrupt this process any time before data migration completes) |