tests/test-upgrade-repo.t
changeset 46884 cc3ad5c3af3b
parent 46874 84a93fa7ecfd
child 47223 281060fbccef
equal deleted inserted replaced
46883:df76da69f5b1 46884:cc3ad5c3af3b
    59   fncache:            yes
    59   fncache:            yes
    60   dotencode:          yes
    60   dotencode:          yes
    61   generaldelta:       yes
    61   generaldelta:       yes
    62   share-safe:          no
    62   share-safe:          no
    63   sparserevlog:       yes
    63   sparserevlog:       yes
    64   persistent-nodemap:  no
    64   persistent-nodemap:  no (no-rust !)
       
    65   persistent-nodemap: yes (rust !)
    65   copies-sdc:          no
    66   copies-sdc:          no
    66   revlog-v2:           no
    67   revlog-v2:           no
    67   plain-cl-delta:     yes
    68   plain-cl-delta:     yes
    68   compression:        zlib
    69   compression:        zlib
    69   compression-level:  default
    70   compression-level:  default
    72   fncache:            yes    yes     yes
    73   fncache:            yes    yes     yes
    73   dotencode:          yes    yes     yes
    74   dotencode:          yes    yes     yes
    74   generaldelta:       yes    yes     yes
    75   generaldelta:       yes    yes     yes
    75   share-safe:          no     no      no
    76   share-safe:          no     no      no
    76   sparserevlog:       yes    yes     yes
    77   sparserevlog:       yes    yes     yes
    77   persistent-nodemap:  no     no      no
    78   persistent-nodemap:  no     no      no (no-rust !)
       
    79   persistent-nodemap: yes    yes      no (rust !)
    78   copies-sdc:          no     no      no
    80   copies-sdc:          no     no      no
    79   revlog-v2:           no     no      no
    81   revlog-v2:           no     no      no
    80   plain-cl-delta:     yes    yes     yes
    82   plain-cl-delta:     yes    yes     yes
    81   compression:        zlib   zlib    zlib (no-zstd !)
    83   compression:        zlib   zlib    zlib (no-zstd !)
    82   compression:        zlib   zlib    zstd (zstd !)
    84   compression:        zlib   zlib    zstd (zstd !)
    86   fncache:            yes     no     yes
    88   fncache:            yes     no     yes
    87   dotencode:          yes     no     yes
    89   dotencode:          yes     no     yes
    88   generaldelta:       yes    yes     yes
    90   generaldelta:       yes    yes     yes
    89   share-safe:          no     no      no
    91   share-safe:          no     no      no
    90   sparserevlog:       yes    yes     yes
    92   sparserevlog:       yes    yes     yes
    91   persistent-nodemap:  no     no      no
    93   persistent-nodemap:  no     no      no (no-rust !)
       
    94   persistent-nodemap: yes    yes      no (rust !)
    92   copies-sdc:          no     no      no
    95   copies-sdc:          no     no      no
    93   revlog-v2:           no     no      no
    96   revlog-v2:           no     no      no
    94   plain-cl-delta:     yes    yes     yes
    97   plain-cl-delta:     yes    yes     yes
    95   compression:        zlib   zlib    zlib (no-zstd !)
    98   compression:        zlib   zlib    zlib (no-zstd !)
    96   compression:        zlib   zlib    zstd (zstd !)
    99   compression:        zlib   zlib    zstd (zstd !)
   100   [formatvariant.name.mismatchconfig|fncache:           ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special|     no][formatvariant.default|     yes]
   103   [formatvariant.name.mismatchconfig|fncache:           ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special|     no][formatvariant.default|     yes]
   101   [formatvariant.name.mismatchconfig|dotencode:         ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special|     no][formatvariant.default|     yes]
   104   [formatvariant.name.mismatchconfig|dotencode:         ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special|     no][formatvariant.default|     yes]
   102   [formatvariant.name.uptodate|generaldelta:      ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   105   [formatvariant.name.uptodate|generaldelta:      ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   103   [formatvariant.name.uptodate|share-safe:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   106   [formatvariant.name.uptodate|share-safe:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   104   [formatvariant.name.uptodate|sparserevlog:      ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   107   [formatvariant.name.uptodate|sparserevlog:      ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   105   [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   108   [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no] (no-rust !)
       
   109   [formatvariant.name.mismatchdefault|persistent-nodemap:][formatvariant.repo.mismatchdefault| yes][formatvariant.config.special|    yes][formatvariant.default|      no] (rust !)
   106   [formatvariant.name.uptodate|copies-sdc:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   110   [formatvariant.name.uptodate|copies-sdc:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   107   [formatvariant.name.uptodate|revlog-v2:         ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   111   [formatvariant.name.uptodate|revlog-v2:         ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   108   [formatvariant.name.uptodate|plain-cl-delta:    ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   112   [formatvariant.name.uptodate|plain-cl-delta:    ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   109   [formatvariant.name.uptodate|compression:       ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib] (no-zstd !)
   113   [formatvariant.name.uptodate|compression:       ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib] (no-zstd !)
   110   [formatvariant.name.mismatchdefault|compression:       ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special|   zlib][formatvariant.default|    zstd] (zstd !)
   114   [formatvariant.name.mismatchdefault|compression:       ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special|   zlib][formatvariant.default|    zstd] (zstd !)
   140     "default": true,
   144     "default": true,
   141     "name": "sparserevlog",
   145     "name": "sparserevlog",
   142     "repo": true
   146     "repo": true
   143    },
   147    },
   144    {
   148    {
   145     "config": false,
   149     "config": false, (no-rust !)
       
   150     "config": true, (rust !)
   146     "default": false,
   151     "default": false,
   147     "name": "persistent-nodemap",
   152     "name": "persistent-nodemap",
   148     "repo": false
   153     "repo": false (no-rust !)
       
   154     "repo": true (rust !)
   149    },
   155    },
   150    {
   156    {
   151     "config": false,
   157     "config": false,
   152     "default": false,
   158     "default": false,
   153     "name": "copies-sdc",
   159     "name": "copies-sdc",
   182   $ hg debugupgraderepo
   188   $ hg debugupgraderepo
   183   (no format upgrades found in existing repository)
   189   (no format upgrades found in existing repository)
   184   performing an upgrade with "--run" will make the following changes:
   190   performing an upgrade with "--run" will make the following changes:
   185   
   191   
   186   requirements
   192   requirements
   187      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   193      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   194      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   188   
   195   
   189   processed revlogs:
   196   processed revlogs:
   190     - all-filelogs
   197     - all-filelogs
   191     - changelog
   198     - changelog
   192     - manifest
   199     - manifest
   206      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   213      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   207   
   214   
   208 
   215 
   209   $ hg debugupgraderepo --quiet
   216   $ hg debugupgraderepo --quiet
   210   requirements
   217   requirements
   211      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   218      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   219      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   212   
   220   
   213   processed revlogs:
   221   processed revlogs:
   214     - all-filelogs
   222     - all-filelogs
   215     - changelog
   223     - changelog
   216     - manifest
   224     - manifest
   221   $ hg debugupgrade --optimize 're-delta-parent'
   229   $ hg debugupgrade --optimize 're-delta-parent'
   222   (no format upgrades found in existing repository)
   230   (no format upgrades found in existing repository)
   223   performing an upgrade with "--run" will make the following changes:
   231   performing an upgrade with "--run" will make the following changes:
   224   
   232   
   225   requirements
   233   requirements
   226      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   234      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   235      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   227   
   236   
   228   optimisations: re-delta-parent
   237   optimisations: re-delta-parent
   229   
   238   
   230   re-delta-parent
   239   re-delta-parent
   231      deltas within internal storage will choose a new base revision if needed
   240      deltas within internal storage will choose a new base revision if needed
   252   $ hg debugupgrade --optimize re-delta-parent
   261   $ hg debugupgrade --optimize re-delta-parent
   253   (no format upgrades found in existing repository)
   262   (no format upgrades found in existing repository)
   254   performing an upgrade with "--run" will make the following changes:
   263   performing an upgrade with "--run" will make the following changes:
   255   
   264   
   256   requirements
   265   requirements
   257      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   266      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   267      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   258   
   268   
   259   optimisations: re-delta-parent
   269   optimisations: re-delta-parent
   260   
   270   
   261   re-delta-parent
   271   re-delta-parent
   262      deltas within internal storage will choose a new base revision if needed
   272      deltas within internal storage will choose a new base revision if needed
   277   re-delta-fulladd
   287   re-delta-fulladd
   278      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   288      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   279   
   289   
   280   $ hg debugupgrade --optimize re-delta-parent --quiet
   290   $ hg debugupgrade --optimize re-delta-parent --quiet
   281   requirements
   291   requirements
   282      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   292      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   293      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   283   
   294   
   284   optimisations: re-delta-parent
   295   optimisations: re-delta-parent
   285   
   296   
   286   processed revlogs:
   297   processed revlogs:
   287     - all-filelogs
   298     - all-filelogs
   321   fncache:             no    yes     yes
   332   fncache:             no    yes     yes
   322   dotencode:           no    yes     yes
   333   dotencode:           no    yes     yes
   323   generaldelta:        no    yes     yes
   334   generaldelta:        no    yes     yes
   324   share-safe:          no     no      no
   335   share-safe:          no     no      no
   325   sparserevlog:        no    yes     yes
   336   sparserevlog:        no    yes     yes
   326   persistent-nodemap:  no     no      no
   337   persistent-nodemap:  no     no      no (no-rust !)
       
   338   persistent-nodemap:  no    yes      no (rust !)
   327   copies-sdc:          no     no      no
   339   copies-sdc:          no     no      no
   328   revlog-v2:           no     no      no
   340   revlog-v2:           no     no      no
   329   plain-cl-delta:     yes    yes     yes
   341   plain-cl-delta:     yes    yes     yes
   330   compression:        zlib   zlib    zlib (no-zstd !)
   342   compression:        zlib   zlib    zlib (no-zstd !)
   331   compression:        zlib   zlib    zstd (zstd !)
   343   compression:        zlib   zlib    zstd (zstd !)
   335   fncache:             no    yes     yes
   347   fncache:             no    yes     yes
   336   dotencode:           no    yes     yes
   348   dotencode:           no    yes     yes
   337   generaldelta:        no     no     yes
   349   generaldelta:        no     no     yes
   338   share-safe:          no     no      no
   350   share-safe:          no     no      no
   339   sparserevlog:        no     no     yes
   351   sparserevlog:        no     no     yes
   340   persistent-nodemap:  no     no      no
   352   persistent-nodemap:  no     no      no (no-rust !)
       
   353   persistent-nodemap:  no    yes      no (rust !)
   341   copies-sdc:          no     no      no
   354   copies-sdc:          no     no      no
   342   revlog-v2:           no     no      no
   355   revlog-v2:           no     no      no
   343   plain-cl-delta:     yes    yes     yes
   356   plain-cl-delta:     yes    yes     yes
   344   compression:        zlib   zlib    zlib (no-zstd !)
   357   compression:        zlib   zlib    zlib (no-zstd !)
   345   compression:        zlib   zlib    zstd (zstd !)
   358   compression:        zlib   zlib    zstd (zstd !)
   349   [formatvariant.name.mismatchconfig|fncache:           ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
   362   [formatvariant.name.mismatchconfig|fncache:           ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
   350   [formatvariant.name.mismatchconfig|dotencode:         ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
   363   [formatvariant.name.mismatchconfig|dotencode:         ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
   351   [formatvariant.name.mismatchdefault|generaldelta:      ][formatvariant.repo.mismatchdefault|  no][formatvariant.config.special|     no][formatvariant.default|     yes]
   364   [formatvariant.name.mismatchdefault|generaldelta:      ][formatvariant.repo.mismatchdefault|  no][formatvariant.config.special|     no][formatvariant.default|     yes]
   352   [formatvariant.name.uptodate|share-safe:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   365   [formatvariant.name.uptodate|share-safe:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   353   [formatvariant.name.mismatchdefault|sparserevlog:      ][formatvariant.repo.mismatchdefault|  no][formatvariant.config.special|     no][formatvariant.default|     yes]
   366   [formatvariant.name.mismatchdefault|sparserevlog:      ][formatvariant.repo.mismatchdefault|  no][formatvariant.config.special|     no][formatvariant.default|     yes]
   354   [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   367   [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no] (no-rust !)
       
   368   [formatvariant.name.mismatchconfig|persistent-nodemap:][formatvariant.repo.mismatchconfig|  no][formatvariant.config.special|    yes][formatvariant.default|      no] (rust !)
   355   [formatvariant.name.uptodate|copies-sdc:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   369   [formatvariant.name.uptodate|copies-sdc:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   356   [formatvariant.name.uptodate|revlog-v2:         ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   370   [formatvariant.name.uptodate|revlog-v2:         ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
   357   [formatvariant.name.uptodate|plain-cl-delta:    ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   371   [formatvariant.name.uptodate|plain-cl-delta:    ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   358   [formatvariant.name.uptodate|compression:       ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib] (no-zstd !)
   372   [formatvariant.name.uptodate|compression:       ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib] (no-zstd !)
   359   [formatvariant.name.mismatchdefault|compression:       ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special|   zlib][formatvariant.default|    zstd] (zstd !)
   373   [formatvariant.name.mismatchdefault|compression:       ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special|   zlib][formatvariant.default|    zstd] (zstd !)
   371      deltas within internal storage are unable to choose optimal revisions; repository is larger and slower than it could be; interaction with other repositories may require extra network and CPU resources, making "hg push" and "hg pull" slower
   385      deltas within internal storage are unable to choose optimal revisions; repository is larger and slower than it could be; interaction with other repositories may require extra network and CPU resources, making "hg push" and "hg pull" slower
   372   
   386   
   373   sparserevlog
   387   sparserevlog
   374      in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
   388      in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
   375   
   389   
       
   390   persistent-nodemap (rust !)
       
   391      persist the node -> rev mapping on disk to speedup lookup (rust !)
       
   392    (rust !)
   376   
   393   
   377   performing an upgrade with "--run" will make the following changes:
   394   performing an upgrade with "--run" will make the following changes:
   378   
   395   
   379   requirements
   396   requirements
   380      preserved: revlogv1, store
   397      preserved: revlogv1, store
   381      added: dotencode, fncache, generaldelta, sparserevlog
   398      added: dotencode, fncache, generaldelta, sparserevlog (no-rust !)
       
   399      added: dotencode, fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
   382   
   400   
   383   fncache
   401   fncache
   384      repository will be more resilient to storing certain paths and performance of certain operations should be improved
   402      repository will be more resilient to storing certain paths and performance of certain operations should be improved
   385   
   403   
   386   dotencode
   404   dotencode
   390      repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
   408      repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
   391   
   409   
   392   sparserevlog
   410   sparserevlog
   393      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.
   411      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.
   394   
   412   
       
   413   persistent-nodemap (rust !)
       
   414      Speedup revision lookup by node id. (rust !)
       
   415    (rust !)
   395   processed revlogs:
   416   processed revlogs:
   396     - all-filelogs
   417     - all-filelogs
   397     - changelog
   418     - changelog
   398     - manifest
   419     - manifest
   399   
   420   
   412      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   433      every revision will be re-added as if it was new content. It will go through the full storage mechanism giving extensions a chance to process it (eg. lfs). This is similar to "re-delta-all" but even slower since more logic is involved.
   413   
   434   
   414   $ hg debugupgraderepo --quiet
   435   $ hg debugupgraderepo --quiet
   415   requirements
   436   requirements
   416      preserved: revlogv1, store
   437      preserved: revlogv1, store
   417      added: dotencode, fncache, generaldelta, sparserevlog
   438      added: dotencode, fncache, generaldelta, sparserevlog (no-rust !)
       
   439      added: dotencode, fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
   418   
   440   
   419   processed revlogs:
   441   processed revlogs:
   420     - all-filelogs
   442     - all-filelogs
   421     - changelog
   443     - changelog
   422     - manifest
   444     - manifest
   432      deltas within internal storage are unable to choose optimal revisions; repository is larger and slower than it could be; interaction with other repositories may require extra network and CPU resources, making "hg push" and "hg pull" slower
   454      deltas within internal storage are unable to choose optimal revisions; repository is larger and slower than it could be; interaction with other repositories may require extra network and CPU resources, making "hg push" and "hg pull" slower
   433   
   455   
   434   sparserevlog
   456   sparserevlog
   435      in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
   457      in order to limit disk reading and memory usage on older version, the span of a delta chain from its root to its end is limited, whatever the relevant data in this span. This can severly limit Mercurial ability to build good chain of delta resulting is much more storage space being taken and limit reusability of on disk delta during exchange.
   436   
   458   
       
   459   persistent-nodemap (rust !)
       
   460      persist the node -> rev mapping on disk to speedup lookup (rust !)
       
   461    (rust !)
   437   repository lacks features used by the default config options:
   462   repository lacks features used by the default config options:
   438   
   463   
   439   dotencode
   464   dotencode
   440      storage of filenames beginning with a period or space may not work correctly
   465      storage of filenames beginning with a period or space may not work correctly
   441   
   466   
   442   
   467   
   443   performing an upgrade with "--run" will make the following changes:
   468   performing an upgrade with "--run" will make the following changes:
   444   
   469   
   445   requirements
   470   requirements
   446      preserved: revlogv1, store
   471      preserved: revlogv1, store
   447      added: fncache, generaldelta, sparserevlog
   472      added: fncache, generaldelta, sparserevlog (no-rust !)
       
   473      added: fncache, generaldelta, persistent-nodemap, sparserevlog (rust !)
   448   
   474   
   449   fncache
   475   fncache
   450      repository will be more resilient to storing certain paths and performance of certain operations should be improved
   476      repository will be more resilient to storing certain paths and performance of certain operations should be improved
   451   
   477   
   452   generaldelta
   478   generaldelta
   453      repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
   479      repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
   454   
   480   
   455   sparserevlog
   481   sparserevlog
   456      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.
   482      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.
   457   
   483   
       
   484   persistent-nodemap (rust !)
       
   485      Speedup revision lookup by node id. (rust !)
       
   486    (rust !)
   458   processed revlogs:
   487   processed revlogs:
   459     - all-filelogs
   488     - all-filelogs
   460     - changelog
   489     - changelog
   461     - manifest
   490     - manifest
   462   
   491   
   511 
   540 
   512   $ hg debugupgraderepo --run --config format.sparse-revlog=false
   541   $ hg debugupgraderepo --run --config format.sparse-revlog=false
   513   upgrade will perform the following actions:
   542   upgrade will perform the following actions:
   514   
   543   
   515   requirements
   544   requirements
   516      preserved: dotencode, fncache, revlogv1, store
   545      preserved: dotencode, fncache, revlogv1, store (no-rust !)
       
   546      preserved: dotencode, fncache, persistent-nodemap, revlogv1, store (rust !)
   517      added: generaldelta
   547      added: generaldelta
   518   
   548   
   519   generaldelta
   549   generaldelta
   520      repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
   550      repository storage will be able to create optimal deltas; new repository data will be smaller and read times should decrease; interacting with other repositories using this storage model should require less network and CPU resources, making "hg push" and "hg pull" faster
   521   
   551   
   552 Original requirements backed up
   582 Original requirements backed up
   553 
   583 
   554   $ cat .hg/upgradebackup.*/requires
   584   $ cat .hg/upgradebackup.*/requires
   555   dotencode
   585   dotencode
   556   fncache
   586   fncache
       
   587   persistent-nodemap (rust !)
   557   revlogv1
   588   revlogv1
   558   store
   589   store
   559 
   590 
   560 generaldelta added to original requirements files
   591 generaldelta added to original requirements files
   561 
   592 
   562   $ cat .hg/requires
   593   $ cat .hg/requires
   563   dotencode
   594   dotencode
   564   fncache
   595   fncache
   565   generaldelta
   596   generaldelta
       
   597   persistent-nodemap (rust !)
   566   revlogv1
   598   revlogv1
   567   store
   599   store
   568 
   600 
   569 store directory has files we expect
   601 store directory has files we expect
   570 
   602 
   612   $ rm -rf .hg/upgradebackup.*/
   644   $ rm -rf .hg/upgradebackup.*/
   613   $ hg debugupgraderepo --run --no-backup
   645   $ hg debugupgraderepo --run --no-backup
   614   upgrade will perform the following actions:
   646   upgrade will perform the following actions:
   615   
   647   
   616   requirements
   648   requirements
   617      preserved: dotencode, fncache, generaldelta, revlogv1, store
   649      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
       
   650      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
   618      added: sparserevlog
   651      added: sparserevlog
   619   
   652   
   620   sparserevlog
   653   sparserevlog
   621      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.
   654      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.
   622   
   655   
   653 
   686 
   654   $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
   687   $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
   655   upgrade will perform the following actions:
   688   upgrade will perform the following actions:
   656   
   689   
   657   requirements
   690   requirements
   658      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   691      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   692      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   659   
   693   
   660   optimisations: re-delta-parent
   694   optimisations: re-delta-parent
   661   
   695   
   662   re-delta-parent
   696   re-delta-parent
   663      deltas within internal storage will choose a new base revision if needed
   697      deltas within internal storage will choose a new base revision if needed
   730 
   764 
   731   $ hg debugupgrade --optimize re-delta-parent --run --no-manifest --no-backup --debug --traceback
   765   $ hg debugupgrade --optimize re-delta-parent --run --no-manifest --no-backup --debug --traceback
   732   upgrade will perform the following actions:
   766   upgrade will perform the following actions:
   733   
   767   
   734   requirements
   768   requirements
   735      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   769      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   770      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   736   
   771   
   737   optimisations: re-delta-parent
   772   optimisations: re-delta-parent
   738   
   773   
   739   re-delta-parent
   774   re-delta-parent
   740      deltas within internal storage will choose a new base revision if needed
   775      deltas within internal storage will choose a new base revision if needed
   780 
   815 
   781   $ hg debugupgrade --optimize re-delta-parent --run --changelog --no-backup --debug --traceback
   816   $ hg debugupgrade --optimize re-delta-parent --run --changelog --no-backup --debug --traceback
   782   upgrade will perform the following actions:
   817   upgrade will perform the following actions:
   783   
   818   
   784   requirements
   819   requirements
   785      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   820      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   821      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   786   
   822   
   787   optimisations: re-delta-parent
   823   optimisations: re-delta-parent
   788   
   824   
   789   re-delta-parent
   825   re-delta-parent
   790      deltas within internal storage will choose a new base revision if needed
   826      deltas within internal storage will choose a new base revision if needed
   829 
   865 
   830   $ hg debugupgrade --optimize re-delta-parent --run --no-changelog --no-manifest --no-backup --debug --traceback
   866   $ hg debugupgrade --optimize re-delta-parent --run --no-changelog --no-manifest --no-backup --debug --traceback
   831   upgrade will perform the following actions:
   867   upgrade will perform the following actions:
   832   
   868   
   833   requirements
   869   requirements
   834      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   870      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
   871      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
   835   
   872   
   836   optimisations: re-delta-parent
   873   optimisations: re-delta-parent
   837   
   874   
   838   re-delta-parent
   875   re-delta-parent
   839      deltas within internal storage will choose a new base revision if needed
   876      deltas within internal storage will choose a new base revision if needed
   882   $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
   919   $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
   883   ignoring revlogs selection flags, format requirements change: sparserevlog
   920   ignoring revlogs selection flags, format requirements change: sparserevlog
   884   upgrade will perform the following actions:
   921   upgrade will perform the following actions:
   885   
   922   
   886   requirements
   923   requirements
   887      preserved: dotencode, fncache, generaldelta, revlogv1, store
   924      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
       
   925      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
   888      removed: sparserevlog
   926      removed: sparserevlog
   889   
   927   
   890   optimisations: re-delta-parent
   928   optimisations: re-delta-parent
   891   
   929   
   892   re-delta-parent
   930   re-delta-parent
   936   $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
   974   $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
   937   ignoring revlogs selection flags, format requirements change: sparserevlog
   975   ignoring revlogs selection flags, format requirements change: sparserevlog
   938   upgrade will perform the following actions:
   976   upgrade will perform the following actions:
   939   
   977   
   940   requirements
   978   requirements
   941      preserved: dotencode, fncache, generaldelta, revlogv1, store
   979      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
       
   980      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
   942      added: sparserevlog
   981      added: sparserevlog
   943   
   982   
   944   optimisations: re-delta-parent
   983   optimisations: re-delta-parent
   945   
   984   
   946   sparserevlog
   985   sparserevlog
  1001   nothing to do
  1040   nothing to do
  1002   $ hg debugupgraderepo --run --optimize 're-delta-fulladd'
  1041   $ hg debugupgraderepo --run --optimize 're-delta-fulladd'
  1003   upgrade will perform the following actions:
  1042   upgrade will perform the following actions:
  1004   
  1043   
  1005   requirements
  1044   requirements
  1006      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
  1045      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
  1046      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
  1007   
  1047   
  1008   optimisations: re-delta-fulladd
  1048   optimisations: re-delta-fulladd
  1009   
  1049   
  1010   re-delta-fulladd
  1050   re-delta-fulladd
  1011      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
  1051      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
  1064   $ cat .hg/requires
  1104   $ cat .hg/requires
  1065   dotencode
  1105   dotencode
  1066   fncache
  1106   fncache
  1067   generaldelta
  1107   generaldelta
  1068   largefiles
  1108   largefiles
       
  1109   persistent-nodemap (rust !)
  1069   revlogv1
  1110   revlogv1
  1070   sparserevlog
  1111   sparserevlog
  1071   store
  1112   store
  1072 
  1113 
  1073   $ hg debugupgraderepo --run
  1114   $ hg debugupgraderepo --run
  1075   $ cat .hg/requires
  1116   $ cat .hg/requires
  1076   dotencode
  1117   dotencode
  1077   fncache
  1118   fncache
  1078   generaldelta
  1119   generaldelta
  1079   largefiles
  1120   largefiles
       
  1121   persistent-nodemap (rust !)
  1080   revlogv1
  1122   revlogv1
  1081   sparserevlog
  1123   sparserevlog
  1082   store
  1124   store
  1083 
  1125 
  1084   $ cat << EOF >> .hg/hgrc
  1126   $ cat << EOF >> .hg/hgrc
  1164 
  1206 
  1165   $ hg debugupgraderepo --run --optimize 're-delta-all'
  1207   $ hg debugupgraderepo --run --optimize 're-delta-all'
  1166   upgrade will perform the following actions:
  1208   upgrade will perform the following actions:
  1167   
  1209   
  1168   requirements
  1210   requirements
  1169      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
  1211      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
  1212      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
  1170   
  1213   
  1171   optimisations: re-delta-all
  1214   optimisations: re-delta-all
  1172   
  1215   
  1173   re-delta-all
  1216   re-delta-all
  1174      deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time
  1217      deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time
  1224   $ hg -q commit -m "foo"
  1267   $ hg -q commit -m "foo"
  1225   $ cat .hg/requires
  1268   $ cat .hg/requires
  1226   dotencode
  1269   dotencode
  1227   fncache
  1270   fncache
  1228   generaldelta
  1271   generaldelta
       
  1272   persistent-nodemap (rust !)
  1229   revlogv1
  1273   revlogv1
  1230   store
  1274   store
  1231 
  1275 
  1232 Check that we can add the sparse-revlog format requirement
  1276 Check that we can add the sparse-revlog format requirement
  1233   $ hg --config format.sparse-revlog=yes debugupgraderepo --run --quiet
  1277   $ hg --config format.sparse-revlog=yes debugupgraderepo --run --quiet
  1234   upgrade will perform the following actions:
  1278   upgrade will perform the following actions:
  1235   
  1279   
  1236   requirements
  1280   requirements
  1237      preserved: dotencode, fncache, generaldelta, revlogv1, store
  1281      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
       
  1282      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
  1238      added: sparserevlog
  1283      added: sparserevlog
  1239   
  1284   
  1240   processed revlogs:
  1285   processed revlogs:
  1241     - all-filelogs
  1286     - all-filelogs
  1242     - changelog
  1287     - changelog
  1244   
  1289   
  1245   $ cat .hg/requires
  1290   $ cat .hg/requires
  1246   dotencode
  1291   dotencode
  1247   fncache
  1292   fncache
  1248   generaldelta
  1293   generaldelta
       
  1294   persistent-nodemap (rust !)
  1249   revlogv1
  1295   revlogv1
  1250   sparserevlog
  1296   sparserevlog
  1251   store
  1297   store
  1252 
  1298 
  1253 Check that we can remove the sparse-revlog format requirement
  1299 Check that we can remove the sparse-revlog format requirement
  1254   $ hg --config format.sparse-revlog=no debugupgraderepo --run --quiet
  1300   $ hg --config format.sparse-revlog=no debugupgraderepo --run --quiet
  1255   upgrade will perform the following actions:
  1301   upgrade will perform the following actions:
  1256   
  1302   
  1257   requirements
  1303   requirements
  1258      preserved: dotencode, fncache, generaldelta, revlogv1, store
  1304      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
       
  1305      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
  1259      removed: sparserevlog
  1306      removed: sparserevlog
  1260   
  1307   
  1261   processed revlogs:
  1308   processed revlogs:
  1262     - all-filelogs
  1309     - all-filelogs
  1263     - changelog
  1310     - changelog
  1265   
  1312   
  1266   $ cat .hg/requires
  1313   $ cat .hg/requires
  1267   dotencode
  1314   dotencode
  1268   fncache
  1315   fncache
  1269   generaldelta
  1316   generaldelta
       
  1317   persistent-nodemap (rust !)
  1270   revlogv1
  1318   revlogv1
  1271   store
  1319   store
  1272 
  1320 
  1273 #if zstd
  1321 #if zstd
  1274 
  1322 
  1279 
  1327 
  1280   $ hg --config format.revlog-compression=zstd debugupgraderepo --run  --no-backup --quiet
  1328   $ hg --config format.revlog-compression=zstd debugupgraderepo --run  --no-backup --quiet
  1281   upgrade will perform the following actions:
  1329   upgrade will perform the following actions:
  1282   
  1330   
  1283   requirements
  1331   requirements
  1284      preserved: dotencode, fncache, generaldelta, revlogv1, store
  1332      preserved: dotencode, fncache, generaldelta, revlogv1, store (no-rust !)
       
  1333      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, store (rust !)
  1285      added: revlog-compression-zstd, sparserevlog
  1334      added: revlog-compression-zstd, sparserevlog
  1286   
  1335   
  1287   processed revlogs:
  1336   processed revlogs:
  1288     - all-filelogs
  1337     - all-filelogs
  1289     - changelog
  1338     - changelog
  1294   fncache:            yes    yes     yes
  1343   fncache:            yes    yes     yes
  1295   dotencode:          yes    yes     yes
  1344   dotencode:          yes    yes     yes
  1296   generaldelta:       yes    yes     yes
  1345   generaldelta:       yes    yes     yes
  1297   share-safe:          no     no      no
  1346   share-safe:          no     no      no
  1298   sparserevlog:       yes    yes     yes
  1347   sparserevlog:       yes    yes     yes
  1299   persistent-nodemap:  no     no      no
  1348   persistent-nodemap:  no     no      no (no-rust !)
       
  1349   persistent-nodemap: yes    yes      no (rust !)
  1300   copies-sdc:          no     no      no
  1350   copies-sdc:          no     no      no
  1301   revlog-v2:           no     no      no
  1351   revlog-v2:           no     no      no
  1302   plain-cl-delta:     yes    yes     yes
  1352   plain-cl-delta:     yes    yes     yes
  1303   compression:        zlib   zlib    zlib (no-zstd !)
  1353   compression:        zlib   zlib    zlib (no-zstd !)
  1304   compression:        zstd   zlib    zstd (zstd !)
  1354   compression:        zstd   zlib    zstd (zstd !)
  1305   compression-level:  default default default
  1355   compression-level:  default default default
  1306   $ cat .hg/requires
  1356   $ cat .hg/requires
  1307   dotencode
  1357   dotencode
  1308   fncache
  1358   fncache
  1309   generaldelta
  1359   generaldelta
       
  1360   persistent-nodemap (rust !)
  1310   revlog-compression-zstd
  1361   revlog-compression-zstd
  1311   revlogv1
  1362   revlogv1
  1312   sparserevlog
  1363   sparserevlog
  1313   store
  1364   store
  1314 
  1365 
  1316 
  1367 
  1317   $ hg debugupgraderepo --run --no-backup --quiet
  1368   $ hg debugupgraderepo --run --no-backup --quiet
  1318   upgrade will perform the following actions:
  1369   upgrade will perform the following actions:
  1319   
  1370   
  1320   requirements
  1371   requirements
  1321      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
  1372      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
  1373      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
  1322      removed: revlog-compression-zstd
  1374      removed: revlog-compression-zstd
  1323   
  1375   
  1324   processed revlogs:
  1376   processed revlogs:
  1325     - all-filelogs
  1377     - all-filelogs
  1326     - changelog
  1378     - changelog
  1331   fncache:            yes    yes     yes
  1383   fncache:            yes    yes     yes
  1332   dotencode:          yes    yes     yes
  1384   dotencode:          yes    yes     yes
  1333   generaldelta:       yes    yes     yes
  1385   generaldelta:       yes    yes     yes
  1334   share-safe:          no     no      no
  1386   share-safe:          no     no      no
  1335   sparserevlog:       yes    yes     yes
  1387   sparserevlog:       yes    yes     yes
  1336   persistent-nodemap:  no     no      no
  1388   persistent-nodemap:  no     no      no (no-rust !)
       
  1389   persistent-nodemap: yes    yes      no (rust !)
  1337   copies-sdc:          no     no      no
  1390   copies-sdc:          no     no      no
  1338   revlog-v2:           no     no      no
  1391   revlog-v2:           no     no      no
  1339   plain-cl-delta:     yes    yes     yes
  1392   plain-cl-delta:     yes    yes     yes
  1340   compression:        zlib   zlib    zlib (no-zstd !)
  1393   compression:        zlib   zlib    zlib (no-zstd !)
  1341   compression:        zlib   zlib    zstd (zstd !)
  1394   compression:        zlib   zlib    zstd (zstd !)
  1342   compression-level:  default default default
  1395   compression-level:  default default default
  1343   $ cat .hg/requires
  1396   $ cat .hg/requires
  1344   dotencode
  1397   dotencode
  1345   fncache
  1398   fncache
  1346   generaldelta
  1399   generaldelta
       
  1400   persistent-nodemap (rust !)
  1347   revlogv1
  1401   revlogv1
  1348   sparserevlog
  1402   sparserevlog
  1349   store
  1403   store
  1350 
  1404 
  1351 upgrade from hgrc
  1405 upgrade from hgrc
  1356   > EOF
  1410   > EOF
  1357   $ hg debugupgraderepo --run --no-backup --quiet
  1411   $ hg debugupgraderepo --run --no-backup --quiet
  1358   upgrade will perform the following actions:
  1412   upgrade will perform the following actions:
  1359   
  1413   
  1360   requirements
  1414   requirements
  1361      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
  1415      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-rust !)
       
  1416      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, sparserevlog, store (rust !)
  1362      added: revlog-compression-zstd
  1417      added: revlog-compression-zstd
  1363   
  1418   
  1364   processed revlogs:
  1419   processed revlogs:
  1365     - all-filelogs
  1420     - all-filelogs
  1366     - changelog
  1421     - changelog
  1371   fncache:            yes    yes     yes
  1426   fncache:            yes    yes     yes
  1372   dotencode:          yes    yes     yes
  1427   dotencode:          yes    yes     yes
  1373   generaldelta:       yes    yes     yes
  1428   generaldelta:       yes    yes     yes
  1374   share-safe:          no     no      no
  1429   share-safe:          no     no      no
  1375   sparserevlog:       yes    yes     yes
  1430   sparserevlog:       yes    yes     yes
  1376   persistent-nodemap:  no     no      no
  1431   persistent-nodemap:  no     no      no (no-rust !)
       
  1432   persistent-nodemap: yes    yes      no (rust !)
  1377   copies-sdc:          no     no      no
  1433   copies-sdc:          no     no      no
  1378   revlog-v2:           no     no      no
  1434   revlog-v2:           no     no      no
  1379   plain-cl-delta:     yes    yes     yes
  1435   plain-cl-delta:     yes    yes     yes
  1380   compression:        zlib   zlib    zlib (no-zstd !)
  1436   compression:        zlib   zlib    zlib (no-zstd !)
  1381   compression:        zstd   zstd    zstd (zstd !)
  1437   compression:        zstd   zstd    zstd (zstd !)
  1382   compression-level:  default default default
  1438   compression-level:  default default default
  1383   $ cat .hg/requires
  1439   $ cat .hg/requires
  1384   dotencode
  1440   dotencode
  1385   fncache
  1441   fncache
  1386   generaldelta
  1442   generaldelta
       
  1443   persistent-nodemap (rust !)
  1387   revlog-compression-zstd
  1444   revlog-compression-zstd
  1388   revlogv1
  1445   revlogv1
  1389   sparserevlog
  1446   sparserevlog
  1390   store
  1447   store
  1391 
  1448 
  1399   $ hg --config format.exp-use-side-data=yes debugupgraderepo --run  --no-backup --config "extensions.sidedata=$TESTDIR/testlib/ext-sidedata.py" --quiet
  1456   $ hg --config format.exp-use-side-data=yes debugupgraderepo --run  --no-backup --config "extensions.sidedata=$TESTDIR/testlib/ext-sidedata.py" --quiet
  1400   upgrade will perform the following actions:
  1457   upgrade will perform the following actions:
  1401   
  1458   
  1402   requirements
  1459   requirements
  1403      preserved: dotencode, fncache, generaldelta, store (no-zstd !)
  1460      preserved: dotencode, fncache, generaldelta, store (no-zstd !)
  1404      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd !)
  1461      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd no-rust !)
       
  1462      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
  1405      removed: revlogv1
  1463      removed: revlogv1
  1406      added: exp-revlogv2.2, exp-sidedata-flag (zstd !)
  1464      added: exp-revlogv2.2, exp-sidedata-flag (zstd !)
  1407      added: exp-revlogv2.2, exp-sidedata-flag, sparserevlog (no-zstd !)
  1465      added: exp-revlogv2.2, exp-sidedata-flag, sparserevlog (no-zstd !)
  1408   
  1466   
  1409   processed revlogs:
  1467   processed revlogs:
  1416   fncache:            yes    yes     yes
  1474   fncache:            yes    yes     yes
  1417   dotencode:          yes    yes     yes
  1475   dotencode:          yes    yes     yes
  1418   generaldelta:       yes    yes     yes
  1476   generaldelta:       yes    yes     yes
  1419   share-safe:          no     no      no
  1477   share-safe:          no     no      no
  1420   sparserevlog:       yes    yes     yes
  1478   sparserevlog:       yes    yes     yes
  1421   persistent-nodemap:  no     no      no
  1479   persistent-nodemap:  no     no      no (no-rust !)
       
  1480   persistent-nodemap: yes    yes      no (rust !)
  1422   copies-sdc:          no     no      no
  1481   copies-sdc:          no     no      no
  1423   revlog-v2:          yes     no      no
  1482   revlog-v2:          yes     no      no
  1424   plain-cl-delta:     yes    yes     yes
  1483   plain-cl-delta:     yes    yes     yes
  1425   compression:        zlib   zlib    zlib (no-zstd !)
  1484   compression:        zlib   zlib    zlib (no-zstd !)
  1426   compression:        zstd   zstd    zstd (zstd !)
  1485   compression:        zstd   zstd    zstd (zstd !)
  1429   dotencode
  1488   dotencode
  1430   exp-revlogv2.2
  1489   exp-revlogv2.2
  1431   exp-sidedata-flag
  1490   exp-sidedata-flag
  1432   fncache
  1491   fncache
  1433   generaldelta
  1492   generaldelta
       
  1493   persistent-nodemap (rust !)
  1434   revlog-compression-zstd (zstd !)
  1494   revlog-compression-zstd (zstd !)
  1435   sparserevlog
  1495   sparserevlog
  1436   store
  1496   store
  1437   $ hg debugsidedata -c 0
  1497   $ hg debugsidedata -c 0
  1438   2 sidedata entries
  1498   2 sidedata entries
  1444   $ hg debugupgraderepo --config format.exp-use-side-data=no --run --no-backup --quiet
  1504   $ hg debugupgraderepo --config format.exp-use-side-data=no --run --no-backup --quiet
  1445   upgrade will perform the following actions:
  1505   upgrade will perform the following actions:
  1446   
  1506   
  1447   requirements
  1507   requirements
  1448      preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
  1508      preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
  1449      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd !)
  1509      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd no-rust !)
       
  1510      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
  1450      removed: exp-revlogv2.2, exp-sidedata-flag
  1511      removed: exp-revlogv2.2, exp-sidedata-flag
  1451      added: revlogv1
  1512      added: revlogv1
  1452   
  1513   
  1453   processed revlogs:
  1514   processed revlogs:
  1454     - all-filelogs
  1515     - all-filelogs
  1460   fncache:            yes    yes     yes
  1521   fncache:            yes    yes     yes
  1461   dotencode:          yes    yes     yes
  1522   dotencode:          yes    yes     yes
  1462   generaldelta:       yes    yes     yes
  1523   generaldelta:       yes    yes     yes
  1463   share-safe:          no     no      no
  1524   share-safe:          no     no      no
  1464   sparserevlog:       yes    yes     yes
  1525   sparserevlog:       yes    yes     yes
  1465   persistent-nodemap:  no     no      no
  1526   persistent-nodemap:  no     no      no (no-rust !)
       
  1527   persistent-nodemap: yes    yes      no (rust !)
  1466   copies-sdc:          no     no      no
  1528   copies-sdc:          no     no      no
  1467   revlog-v2:           no     no      no
  1529   revlog-v2:           no     no      no
  1468   plain-cl-delta:     yes    yes     yes
  1530   plain-cl-delta:     yes    yes     yes
  1469   compression:        zlib   zlib    zlib (no-zstd !)
  1531   compression:        zlib   zlib    zlib (no-zstd !)
  1470   compression:        zstd   zstd    zstd (zstd !)
  1532   compression:        zstd   zstd    zstd (zstd !)
  1471   compression-level:  default default default
  1533   compression-level:  default default default
  1472   $ cat .hg/requires
  1534   $ cat .hg/requires
  1473   dotencode
  1535   dotencode
  1474   fncache
  1536   fncache
  1475   generaldelta
  1537   generaldelta
       
  1538   persistent-nodemap (rust !)
  1476   revlog-compression-zstd (zstd !)
  1539   revlog-compression-zstd (zstd !)
  1477   revlogv1
  1540   revlogv1
  1478   sparserevlog
  1541   sparserevlog
  1479   store
  1542   store
  1480   $ hg debugsidedata -c 0
  1543   $ hg debugsidedata -c 0
  1488   $ hg debugupgraderepo --run --no-backup --quiet
  1551   $ hg debugupgraderepo --run --no-backup --quiet
  1489   upgrade will perform the following actions:
  1552   upgrade will perform the following actions:
  1490   
  1553   
  1491   requirements
  1554   requirements
  1492      preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
  1555      preserved: dotencode, fncache, generaldelta, sparserevlog, store (no-zstd !)
  1493      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd !)
  1556      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, sparserevlog, store (zstd no-rust !)
       
  1557      preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store (rust !)
  1494      removed: revlogv1
  1558      removed: revlogv1
  1495      added: exp-revlogv2.2, exp-sidedata-flag
  1559      added: exp-revlogv2.2, exp-sidedata-flag
  1496   
  1560   
  1497   processed revlogs:
  1561   processed revlogs:
  1498     - all-filelogs
  1562     - all-filelogs
  1504   fncache:            yes    yes     yes
  1568   fncache:            yes    yes     yes
  1505   dotencode:          yes    yes     yes
  1569   dotencode:          yes    yes     yes
  1506   generaldelta:       yes    yes     yes
  1570   generaldelta:       yes    yes     yes
  1507   share-safe:          no     no      no
  1571   share-safe:          no     no      no
  1508   sparserevlog:       yes    yes     yes
  1572   sparserevlog:       yes    yes     yes
  1509   persistent-nodemap:  no     no      no
  1573   persistent-nodemap:  no     no      no (no-rust !)
       
  1574   persistent-nodemap: yes    yes      no (rust !)
  1510   copies-sdc:          no     no      no
  1575   copies-sdc:          no     no      no
  1511   revlog-v2:          yes    yes      no
  1576   revlog-v2:          yes    yes      no
  1512   plain-cl-delta:     yes    yes     yes
  1577   plain-cl-delta:     yes    yes     yes
  1513   compression:        zlib   zlib    zlib (no-zstd !)
  1578   compression:        zlib   zlib    zlib (no-zstd !)
  1514   compression:        zstd   zstd    zstd (zstd !)
  1579   compression:        zstd   zstd    zstd (zstd !)
  1517   dotencode
  1582   dotencode
  1518   exp-revlogv2.2
  1583   exp-revlogv2.2
  1519   exp-sidedata-flag
  1584   exp-sidedata-flag
  1520   fncache
  1585   fncache
  1521   generaldelta
  1586   generaldelta
       
  1587   persistent-nodemap (rust !)
  1522   revlog-compression-zstd (zstd !)
  1588   revlog-compression-zstd (zstd !)
  1523   sparserevlog
  1589   sparserevlog
  1524   store
  1590   store
  1525   $ hg debugsidedata -c 0
  1591   $ hg debugsidedata -c 0
  1526 
  1592