tests/test-upgrade-repo.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 11 Jan 2022 21:40:08 +0100
changeset 48669 7ee07e1a25c0
parent 48657 68b7faeb6ef3
child 48681 e845537f6adb
permissions -rw-r--r--
share-safe: enable by default (BC) The feature have been around for a year (4 version) and is quite important. Lets make it enabled by default. Differential Revision: https://phab.mercurial-scm.org/D11997
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37281
diff changeset
     1
#require no-reposimplestore
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37281
diff changeset
     2
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
     3
  $ cat >> $HGRCPATH << EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
     4
  > [extensions]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
     5
  > share =
46849
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
     6
  > [format]
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
     7
  > # stabilize test accross variant
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
     8
  > revlog-compression=zlib
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
     9
  > EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    10
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    11
store and revlogv1 are required in source
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    12
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    13
  $ hg --config format.usestore=false init no-store
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    14
  $ hg -R no-store debugupgraderepo
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    15
  abort: cannot upgrade repository; requirement missing: store
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    16
  [255]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    17
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    18
  $ hg init no-revlogv1
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    19
  $ cat > no-revlogv1/.hg/requires << EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    20
  > dotencode
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    21
  > fncache
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    22
  > generaldelta
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    23
  > store
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    24
  > EOF
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    25
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    26
  $ hg -R no-revlogv1 debugupgraderepo
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
    27
  abort: cannot upgrade repository; missing a revlog version
30774
eaa5607132a2 debugcommands: stub for debugupgraderepo command
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    28
  [255]
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    29
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    30
Cannot upgrade shared repositories
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    31
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    32
  $ hg init share-parent
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    33
  $ hg -q share share-parent share-child
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    34
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    35
  $ hg -R share-child debugupgraderepo
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    36
  abort: cannot upgrade repository; unsupported source requirement: shared
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    37
  [255]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    38
36373
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35378
diff changeset
    39
Do not yet support upgrading treemanifest repos
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    40
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    41
  $ hg --config experimental.treemanifest=true init treemanifest
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    42
  $ hg -R treemanifest debugupgraderepo
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    43
  abort: cannot upgrade repository; unsupported source requirement: treemanifest
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    44
  [255]
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    45
36373
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35378
diff changeset
    46
Cannot add treemanifest requirement during upgrade
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    47
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    48
  $ hg init disallowaddedreq
36373
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35378
diff changeset
    49
  $ hg -R disallowaddedreq --config experimental.treemanifest=true debugupgraderepo
0147a4730420 cleanup: say goodbye to manifestv2 format
Augie Fackler <augie@google.com>
parents: 35378
diff changeset
    50
  abort: cannot upgrade repository; do not support adding requirement: treemanifest
30775
513d68a90398 repair: implement requirements checking for upgrades
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30774
diff changeset
    51
  [255]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
    52
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
    53
An upgrade of a repository created with recommended settings only suggests optimizations
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
    54
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
    55
  $ hg init empty
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
    56
  $ cd empty
35336
c3e4f196b6e0 debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents: 35303
diff changeset
    57
  $ hg debugformat
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    58
  format-variant     repo
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    59
  fncache:            yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
    60
  dirstate-v2:         no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    61
  dotencode:          yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    62
  generaldelta:       yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
    63
  share-safe:         yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    64
  sparserevlog:       yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
    65
  persistent-nodemap:  no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
    66
  persistent-nodemap: yes (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    67
  copies-sdc:          no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
    68
  revlog-v2:           no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
    69
  changelog-v2:        no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    70
  plain-cl-delta:     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    71
  compression:        zlib
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    72
  compression-level:  default
35337
cfb403b92f43 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents: 35336
diff changeset
    73
  $ hg debugformat --verbose
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    74
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    75
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
    76
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    77
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    78
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
    79
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    80
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
    81
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
    82
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    83
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
    84
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
    85
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    86
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
    87
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
    88
  compression:        zlib   zlib    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    89
  compression-level:  default default default
40883
597fe8d81104 test: fix config typo in test-upgrade-repo.t
Boris Feld <boris.feld@octobus.net>
parents: 40836
diff changeset
    90
  $ hg debugformat --verbose --config format.usefncache=no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    91
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    92
  fncache:            yes     no     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
    93
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    94
  dotencode:          yes     no     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    95
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
    96
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
    97
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
    98
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
    99
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   100
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   101
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   102
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   103
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   104
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   105
  compression:        zlib   zlib    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   106
  compression-level:  default default default
40883
597fe8d81104 test: fix config typo in test-upgrade-repo.t
Boris Feld <boris.feld@octobus.net>
parents: 40836
diff changeset
   107
  $ hg debugformat --verbose --config format.usefncache=no --color=debug
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   108
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   109
  [formatvariant.name.mismatchconfig|fncache:           ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special|     no][formatvariant.default|     yes]
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   110
  [formatvariant.name.uptodate|dirstate-v2:       ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   111
  [formatvariant.name.mismatchconfig|dotencode:         ][formatvariant.repo.mismatchconfig| yes][formatvariant.config.special|     no][formatvariant.default|     yes]
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   112
  [formatvariant.name.uptodate|generaldelta:      ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   113
  [formatvariant.name.uptodate|share-safe:        ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   114
  [formatvariant.name.uptodate|sparserevlog:      ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   115
  [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no] (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   116
  [formatvariant.name.mismatchdefault|persistent-nodemap:][formatvariant.repo.mismatchdefault| yes][formatvariant.config.special|    yes][formatvariant.default|      no] (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   117
  [formatvariant.name.uptodate|copies-sdc:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   118
  [formatvariant.name.uptodate|revlog-v2:         ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   119
  [formatvariant.name.uptodate|changelog-v2:      ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   120
  [formatvariant.name.uptodate|plain-cl-delta:    ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   121
  [formatvariant.name.uptodate|compression:       ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib] (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   122
  [formatvariant.name.mismatchdefault|compression:       ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special|   zlib][formatvariant.default|    zstd] (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   123
  [formatvariant.name.uptodate|compression-level: ][formatvariant.repo.uptodate| default][formatvariant.config.default| default][formatvariant.default| default]
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   124
  $ hg debugformat -Tjson
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   125
  [
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   126
   {
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   127
    "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   128
    "default": true,
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   129
    "name": "fncache",
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   130
    "repo": true
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   131
   },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   132
   {
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   133
    "config": false,
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   134
    "default": false,
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   135
    "name": "dirstate-v2",
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   136
    "repo": false
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   137
   },
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   138
   {
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   139
    "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   140
    "default": true,
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   141
    "name": "dotencode",
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   142
    "repo": true
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   143
   },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   144
   {
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   145
    "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   146
    "default": true,
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   147
    "name": "generaldelta",
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   148
    "repo": true
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   149
   },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   150
   {
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   151
    "config": true,
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   152
    "default": true,
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
   153
    "name": "share-safe",
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   154
    "repo": true
46002
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44799
diff changeset
   155
   },
705c37f22859 upgrade: add support for experimental safe share mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 44799
diff changeset
   156
   {
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   157
    "config": true,
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   158
    "default": true,
38719
4ad2a1ff0404 upgrade: add information about sparse-revlog
Paul Morelle <paul.morelle@octobus.net>
parents: 37338
diff changeset
   159
    "name": "sparserevlog",
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   160
    "repo": true
38719
4ad2a1ff0404 upgrade: add information about sparse-revlog
Paul Morelle <paul.morelle@octobus.net>
parents: 37338
diff changeset
   161
   },
4ad2a1ff0404 upgrade: add information about sparse-revlog
Paul Morelle <paul.morelle@octobus.net>
parents: 37338
diff changeset
   162
   {
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   163
    "config": false, (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   164
    "config": true, (rust !)
43031
e16ca9fde7aa upgrade: detect the side-data format variants
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43007
diff changeset
   165
    "default": false,
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   166
    "name": "persistent-nodemap",
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   167
    "repo": false (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   168
    "repo": true (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   169
   },
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   170
   {
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   171
    "config": false,
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   172
    "default": false,
43138
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
   173
    "name": "copies-sdc",
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
   174
    "repo": false
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
   175
   },
f9dc98a97cdb sidedatacopies: teach upgrade about the new requirement
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43135
diff changeset
   176
   {
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   177
    "config": false,
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   178
    "default": false,
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   179
    "name": "revlog-v2",
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   180
    "repo": false
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   181
   },
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   182
   {
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   183
    "config": false,
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   184
    "default": false,
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   185
    "name": "changelog-v2",
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   186
    "repo": false
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   187
   },
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   188
   {
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   189
    "config": true,
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   190
    "default": true,
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   191
    "name": "plain-cl-delta",
35378
9144e898cad5 debugformat: embed raw values in JSON and template output
Yuya Nishihara <yuya@tcha.org>
parents: 35377
diff changeset
   192
    "repo": true
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   193
   },
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   194
   {
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   195
    "config": "zlib",
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   196
    "default": "zlib", (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   197
    "default": "zstd", (zstd !)
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   198
    "name": "compression",
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   199
    "repo": "zlib"
42045
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
   200
   },
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
   201
   {
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
   202
    "config": "default",
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
   203
    "default": "default",
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
   204
    "name": "compression-level",
d7e751ec679e compression: display compression level in debugformat
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41990
diff changeset
   205
    "repo": "default"
35377
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   206
   }
c0b6fa74e007 debugformat: flush formatter output per item
Yuya Nishihara <yuya@tcha.org>
parents: 35363
diff changeset
   207
  ]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   208
  $ hg debugupgraderepo
46205
53d083fa1f83 upgrade: rename finddeficiences() to find_format_upgrades()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46035
diff changeset
   209
  (no format upgrades found in existing repository)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   210
  performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   211
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   212
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   213
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   214
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   215
  
48448
62e6222cc5b6 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48447
diff changeset
   216
  no revlogs to process
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   217
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   218
  additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   219
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   220
  re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   222
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   223
  re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   224
     deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   225
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   226
  re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   227
     deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   228
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   229
  re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   230
     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.
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
   231
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   232
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   233
  $ hg debugupgraderepo --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   234
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   235
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   236
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   237
  
48448
62e6222cc5b6 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48447
diff changeset
   238
  no revlogs to process
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   239
  
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   240
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   241
--optimize can be used to add optimizations
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   242
46208
083438d6f403 upgrade: drop support for old style optimization names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46207
diff changeset
   243
  $ hg debugupgrade --optimize 're-delta-parent'
46205
53d083fa1f83 upgrade: rename finddeficiences() to find_format_upgrades()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46035
diff changeset
   244
  (no format upgrades found in existing repository)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   245
  performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   246
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   247
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   248
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   249
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   250
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   251
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   252
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   253
  re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   254
     deltas within internal storage will choose a new base revision if needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   255
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   256
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   257
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   258
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   259
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   260
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   261
  additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   262
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   263
  re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   264
     deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   265
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   266
  re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   267
     deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   268
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   269
  re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   270
     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.
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   271
  
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   272
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   273
modern form of the option
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   274
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   275
  $ hg debugupgrade --optimize re-delta-parent
46205
53d083fa1f83 upgrade: rename finddeficiences() to find_format_upgrades()
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46035
diff changeset
   276
  (no format upgrades found in existing repository)
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   277
  performing an upgrade with "--run" will make the following changes:
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   278
  
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   279
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   280
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   281
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   282
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   283
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   284
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   285
  re-delta-parent
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   286
     deltas within internal storage will choose a new base revision if needed
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
   287
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   288
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   289
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   290
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   291
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   292
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   293
  additional optimizations are available by specifying "--optimize <name>":
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   294
  
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   295
  re-delta-multibase
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   296
     deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   297
  
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   298
  re-delta-all
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   299
     deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   300
  
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   301
  re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   302
     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.
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   303
  
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   304
  $ hg debugupgrade --optimize re-delta-parent --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   305
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   306
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   307
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   308
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   309
  optimisations: re-delta-parent
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   310
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   311
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   312
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   313
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   314
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   315
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   316
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   317
unknown optimization:
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   318
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   319
  $ hg debugupgrade --optimize foobar
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   320
  abort: unknown optimization action requested: foobar
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   321
  (run without arguments to see valid optimizations)
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   322
  [255]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   323
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   324
Various sub-optimal detections work
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   325
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   326
  $ cat > .hg/requires << EOF
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   327
  > revlogv1
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   328
  > store
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   329
  > EOF
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   330
35336
c3e4f196b6e0 debugformat: add a 'debugformat' command
Boris Feld <boris.feld@octobus.net>
parents: 35303
diff changeset
   331
  $ hg debugformat
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   332
  format-variant     repo
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   333
  fncache:             no
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   334
  dirstate-v2:         no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   335
  dotencode:           no
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   336
  generaldelta:        no
46334
4b0192f592cf share: move share safe functionality out of experimental
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46231
diff changeset
   337
  share-safe:          no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   338
  sparserevlog:        no
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   339
  persistent-nodemap:  no
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   340
  copies-sdc:          no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   341
  revlog-v2:           no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   342
  changelog-v2:        no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   343
  plain-cl-delta:     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   344
  compression:        zlib
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   345
  compression-level:  default
35337
cfb403b92f43 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents: 35336
diff changeset
   346
  $ hg debugformat --verbose
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   347
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   348
  fncache:             no    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   349
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   350
  dotencode:           no    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   351
  generaldelta:        no    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   352
  share-safe:          no    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   353
  sparserevlog:        no    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   354
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   355
  persistent-nodemap:  no    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   356
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   357
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   358
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   359
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   360
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   361
  compression:        zlib   zlib    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   362
  compression-level:  default default default
35337
cfb403b92f43 debugformat: add data about the config when verbose
Boris Feld <boris.feld@octobus.net>
parents: 35336
diff changeset
   363
  $ hg debugformat --verbose --config format.usegeneraldelta=no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   364
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   365
  fncache:             no    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   366
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   367
  dotencode:           no    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   368
  generaldelta:        no     no     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   369
  share-safe:          no    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   370
  sparserevlog:        no     no     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   371
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   372
  persistent-nodemap:  no    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   373
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   374
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   375
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   376
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   377
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   378
  compression:        zlib   zlib    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   379
  compression-level:  default default default
35338
bd326f3e0e14 debugformat: update label depending on value difference
Boris Feld <boris.feld@octobus.net>
parents: 35337
diff changeset
   380
  $ hg debugformat --verbose --config format.usegeneraldelta=no --color=debug
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   381
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   382
  [formatvariant.name.mismatchconfig|fncache:           ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
   383
  [formatvariant.name.uptodate|dirstate-v2:       ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   384
  [formatvariant.name.mismatchconfig|dotencode:         ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   385
  [formatvariant.name.mismatchdefault|generaldelta:      ][formatvariant.repo.mismatchdefault|  no][formatvariant.config.special|     no][formatvariant.default|     yes]
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   386
  [formatvariant.name.mismatchconfig|share-safe:        ][formatvariant.repo.mismatchconfig|  no][formatvariant.config.default|    yes][formatvariant.default|     yes]
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   387
  [formatvariant.name.mismatchdefault|sparserevlog:      ][formatvariant.repo.mismatchdefault|  no][formatvariant.config.special|     no][formatvariant.default|     yes]
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   388
  [formatvariant.name.uptodate|persistent-nodemap:][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no] (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   389
  [formatvariant.name.mismatchconfig|persistent-nodemap:][formatvariant.repo.mismatchconfig|  no][formatvariant.config.special|    yes][formatvariant.default|      no] (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   390
  [formatvariant.name.uptodate|copies-sdc:        ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
   391
  [formatvariant.name.uptodate|revlog-v2:         ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
   392
  [formatvariant.name.uptodate|changelog-v2:      ][formatvariant.repo.uptodate|  no][formatvariant.config.default|     no][formatvariant.default|      no]
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   393
  [formatvariant.name.uptodate|plain-cl-delta:    ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   394
  [formatvariant.name.uptodate|compression:       ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib] (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
   395
  [formatvariant.name.mismatchdefault|compression:       ][formatvariant.repo.mismatchdefault| zlib][formatvariant.config.special|   zlib][formatvariant.default|    zstd] (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
   396
  [formatvariant.name.uptodate|compression-level: ][formatvariant.repo.uptodate| default][formatvariant.config.default| default][formatvariant.default| default]
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   397
  $ hg debugupgraderepo
48447
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   398
  note:    selecting all-filelogs for processing to change: dotencode
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   399
  note:    selecting all-manifestlogs for processing to change: dotencode
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   400
  note:    selecting changelog for processing to change: dotencode
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   401
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   402
  repository lacks features recommended by current config options:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   403
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   404
  fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   405
     long and reserved filenames may not work correctly; repository performance is sub-optimal
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   406
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   407
  dotencode
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   408
     storage of filenames beginning with a period or space may not work correctly
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   409
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   410
  generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   411
     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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   412
  
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   413
  share-safe
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   414
     old shared repositories do not share source repository requirements and config. This leads to various problems when the source repository format is upgraded or some new extensions are enabled.
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   415
  
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   416
  sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   417
     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.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   418
  
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   419
  persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   420
     persist the node -> rev mapping on disk to speedup lookup (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   421
   (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   422
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   423
  performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   424
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   425
  requirements
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   426
     preserved: revlogv1, store
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   427
     added: dotencode, fncache, generaldelta, share-safe, sparserevlog (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   428
     added: dotencode, fncache, generaldelta, persistent-nodemap, share-safe, sparserevlog (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   429
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   430
  fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   431
     repository will be more resilient to storing certain paths and performance of certain operations should be improved
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   432
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   433
  dotencode
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   434
     repository will be better able to store files beginning with a space or period
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   435
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   436
  generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   437
     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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   438
  
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   439
  share-safe
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   440
     Upgrades a repository to share-safe format so that future shares of this repository share its requirements and configs.
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   441
  
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   442
  sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   443
     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.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   444
  
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   445
  persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   446
     Speedup revision lookup by node id. (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   447
   (rust !)
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   448
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   449
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   450
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   451
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   452
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   453
  additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   454
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   455
  re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   456
     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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   457
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   458
  re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   459
     deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   460
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   461
  re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   462
     deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   463
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   464
  re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   465
     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.
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
   466
  
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   467
  $ hg debugupgraderepo --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   468
  requirements
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   469
     preserved: revlogv1, store
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   470
     added: dotencode, fncache, generaldelta, share-safe, sparserevlog (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   471
     added: dotencode, fncache, generaldelta, persistent-nodemap, share-safe, sparserevlog (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
   472
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   473
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   474
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   475
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   476
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   477
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   478
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   479
  $ hg --config format.dotencode=false debugupgraderepo
48447
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   480
  note:    selecting all-filelogs for processing to change: fncache
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   481
  note:    selecting all-manifestlogs for processing to change: fncache
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   482
  note:    selecting changelog for processing to change: fncache
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   483
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   484
  repository lacks features recommended by current config options:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   485
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   486
  fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   487
     long and reserved filenames may not work correctly; repository performance is sub-optimal
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   488
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   489
  generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   490
     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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   491
  
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   492
  share-safe
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   493
     old shared repositories do not share source repository requirements and config. This leads to various problems when the source repository format is upgraded or some new extensions are enabled.
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   494
  
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   495
  sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   496
     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.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   497
  
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   498
  persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   499
     persist the node -> rev mapping on disk to speedup lookup (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   500
   (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   501
  repository lacks features used by the default config options:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   502
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   503
  dotencode
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   504
     storage of filenames beginning with a period or space may not work correctly
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   505
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   506
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   507
  performing an upgrade with "--run" will make the following changes:
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   508
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   509
  requirements
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   510
     preserved: revlogv1, store
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   511
     added: fncache, generaldelta, share-safe, sparserevlog (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   512
     added: fncache, generaldelta, persistent-nodemap, share-safe, sparserevlog (rust !)
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   513
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   514
  fncache
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   515
     repository will be more resilient to storing certain paths and performance of certain operations should be improved
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   516
  
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   517
  generaldelta
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   518
     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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   519
  
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   520
  share-safe
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   521
     Upgrades a repository to share-safe format so that future shares of this repository share its requirements and configs.
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   522
  
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   523
  sparserevlog
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   524
     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.
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
   525
  
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   526
  persistent-nodemap (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   527
     Speedup revision lookup by node id. (rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   528
   (rust !)
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   529
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   530
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   531
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   532
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   533
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   534
  additional optimizations are available by specifying "--optimize <name>":
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   535
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   536
  re-delta-parent
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   537
     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
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   538
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   539
  re-delta-multibase
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   540
     deltas within internal storage will be recalculated against multiple base revision and the smallest difference will be used; the size of the repository may shrink significantly when there are many merges; this optimization will slow down execution in proportion to the number of merges in the repository and the amount of files in the repository; this slow down should not be significant unless there are tens of thousands of files and thousands of merges
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   541
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   542
  re-delta-all
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   543
     deltas within internal storage will always be recalculated without reusing prior deltas; this will likely make execution run several times slower; this optimization is typically not needed
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   544
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   545
  re-delta-fulladd
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
   546
     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.
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
   547
  
30776
3997edc4a86d repair: determine what upgrade will do
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30775
diff changeset
   548
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   549
  $ cd ..
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   550
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   551
Upgrading a repository that is already modern essentially no-ops
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   552
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   553
  $ hg init modern
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   554
  $ hg -R modern debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
   555
  nothing to do
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   556
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   557
Upgrading a repository to generaldelta works
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   558
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   559
  $ hg --config format.usegeneraldelta=false init upgradegd
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   560
  $ cd upgradegd
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   561
  $ touch f0
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   562
  $ hg -q commit -A -m initial
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   563
  $ mkdir FooBarDirectory.d
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   564
  $ touch FooBarDirectory.d/f1
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   565
  $ hg -q commit -A -m 'add f1'
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   566
  $ hg -q up -r 0
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   567
  >>> from __future__ import absolute_import, print_function
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   568
  >>> import random
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   569
  >>> random.seed(0) # have a reproducible content
43195
86b26f20146d tests: open file in binary mode in test-upgrade-repo.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 43167
diff changeset
   570
  >>> with open("f2", "wb") as f:
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   571
  ...     for i in range(100000):
43195
86b26f20146d tests: open file in binary mode in test-upgrade-repo.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 43167
diff changeset
   572
  ...         f.write(b"%d\n" % random.randint(1000000000, 9999999999)) and None
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   573
  $ hg -q commit -A -m 'add f2'
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   574
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   575
make sure we have a .d file
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   576
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   577
  $ ls -d .hg/store/data/*
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   578
  .hg/store/data/_foo_bar_directory.d.hg
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   579
  .hg/store/data/f0.i
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   580
  .hg/store/data/f2.d
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   581
  .hg/store/data/f2.i
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   582
40917
e8cd688b2eb1 test: preemptively disable sparse-revlog for some of test-upgrade-repo
Boris Feld <boris.feld@octobus.net>
parents: 40883
diff changeset
   583
  $ hg debugupgraderepo --run --config format.sparse-revlog=false
48447
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   584
  note:    selecting all-filelogs for processing to change: generaldelta
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   585
  note:    selecting all-manifestlogs for processing to change: generaldelta
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   586
  note:    selecting changelog for processing to change: generaldelta
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   587
  
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   588
  upgrade will perform the following actions:
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   589
  
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   590
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   591
     preserved: dotencode, fncache, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   592
     preserved: dotencode, fncache, persistent-nodemap, revlogv1, share-safe, store (rust !)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   593
     added: generaldelta
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   594
  
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   595
  generaldelta
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   596
     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
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   597
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   598
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   599
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   600
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   601
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   602
  
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   603
  beginning upgrade...
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   604
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   605
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   606
  (it is safe to interrupt this process any time before data migration completes)
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   607
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   608
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   609
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   610
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   611
  migrating 1 manifests containing 3 revisions (384 bytes in store; 238 bytes tracked data)
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   612
  finished migrating 3 manifest revisions across 1 manifests; change in size: -17 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   613
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   614
  finished migrating 3 changelog revisions; change in size: 0 bytes
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   615
  finished migrating 9 total revisions; total change in store size: -17 bytes
30780
2603d04889e1 repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30779
diff changeset
   616
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   617
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   618
  data fully upgraded in a temporary repository
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   619
  marking source repository as being upgraded; clients will be unable to read from repository
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   620
  starting in-place swap of repository data
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   621
  replaced files will be backed up at $TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   622
  replacing store...
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   623
  store replacement complete; repository was inconsistent for *s (glob)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   624
  finalizing requirements file and making repository readable again
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   625
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   626
  copy of old repository backed up at $TESTTMP/upgradegd/.hg/upgradebackup.* (glob)
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   627
  the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   628
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   629
Original requirements backed up
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   630
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   631
  $ cat .hg/upgradebackup.*/requires
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   632
  share-safe
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   633
  $ cat .hg/upgradebackup.*/store/requires
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   634
  dotencode
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   635
  fncache
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   636
  persistent-nodemap (rust !)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   637
  revlogv1
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   638
  store
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   639
  upgradeinprogress
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   640
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   641
generaldelta added to original requirements files
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   642
48464
5e6542143d40 test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48448
diff changeset
   643
  $ hg debugrequires
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   644
  dotencode
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   645
  fncache
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   646
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
   647
  persistent-nodemap (rust !)
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   648
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   649
  share-safe
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   650
  store
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
   651
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   652
store directory has files we expect
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   653
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   654
  $ ls .hg/store
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   655
  00changelog.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   656
  00manifest.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   657
  data
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   658
  fncache
30780
2603d04889e1 repair: copy non-revlog store files during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30779
diff changeset
   659
  phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   660
  requires
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   661
  undo
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   662
  undo.backupfiles
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   663
  undo.phaseroots
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   664
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   665
manifest should be generaldelta
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   666
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   667
  $ hg debugrevlog -m | grep flags
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   668
  flags  : inline, generaldelta
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   669
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   670
verify should be happy
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   671
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   672
  $ hg verify
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   673
  checking changesets
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   674
  checking manifests
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   675
  crosschecking files in changesets and manifests
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   676
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 38720
diff changeset
   677
  checked 3 changesets with 3 changes to 3 files
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   678
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   679
old store should be backed up
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   680
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   681
  $ ls -d .hg/upgradebackup.*/
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   682
  .hg/upgradebackup.*/ (glob)
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   683
  $ ls .hg/upgradebackup.*/store
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   684
  00changelog.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   685
  00manifest.i
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   686
  data
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   687
  fncache
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   688
  phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   689
  requires
30779
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   690
  undo
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   691
  undo.backup.fncache
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   692
  undo.backupfiles
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   693
  undo.phaseroots
38aa1ca97b6a repair: migrate revlogs during upgrade
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30777
diff changeset
   694
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   695
unless --no-backup is passed
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   696
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   697
  $ rm -rf .hg/upgradebackup.*/
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   698
  $ hg debugupgraderepo --run --no-backup
48447
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   699
  note:    selecting all-filelogs for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   700
  note:    selecting all-manifestlogs for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   701
  note:    selecting changelog for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   702
  
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   703
  upgrade will perform the following actions:
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   704
  
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   705
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   706
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   707
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   708
     added: sparserevlog
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   709
  
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   710
  sparserevlog
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   711
     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.
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   712
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   713
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   714
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   715
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   716
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   717
  
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   718
  beginning upgrade...
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   719
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   720
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   721
  (it is safe to interrupt this process any time before data migration completes)
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   722
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   723
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   724
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   725
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   726
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   727
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   728
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   729
  finished migrating 3 changelog revisions; change in size: 0 bytes
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   730
  finished migrating 9 total revisions; total change in store size: 0 bytes
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   731
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   732
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   733
  data fully upgraded in a temporary repository
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   734
  marking source repository as being upgraded; clients will be unable to read from repository
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   735
  starting in-place swap of repository data
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   736
  replacing store...
41990
22ed63869835 tests: glob seconds in test-upgrade-repo.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41089
diff changeset
   737
  store replacement complete; repository was inconsistent for * (glob)
41089
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   738
  finalizing requirements file and making repository readable again
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   739
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   740
  $ ls -1 .hg/ | grep upgradebackup
a59a74721c76 debugupgraderepo: add a --no-backup mode
Boris Feld <boris.feld@octobus.net>
parents: 41088
diff changeset
   741
  [1]
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   742
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   743
We can restrict optimization to some revlog:
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   744
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   745
  $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   746
  upgrade will perform the following actions:
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   747
  
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   748
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   749
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   750
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   751
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   752
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   753
  
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   754
  re-delta-parent
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   755
     deltas within internal storage will choose a new base revision if needed
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   756
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   757
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   758
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   759
  
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   760
  beginning upgrade...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   761
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   762
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   763
  (it is safe to interrupt this process any time before data migration completes)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   764
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   765
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   766
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   767
  blindly copying data/FooBarDirectory.d/f1.i containing 1 revisions
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   768
  blindly copying data/f0.i containing 1 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   769
  blindly copying data/f2.i containing 1 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   770
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   771
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   772
  cloning 3 revisions from 00manifest.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   773
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   774
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   775
  blindly copying 00changelog.i containing 3 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   776
  finished migrating 3 changelog revisions; change in size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   777
  finished migrating 9 total revisions; total change in store size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   778
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   779
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   780
  data fully upgraded in a temporary repository
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   781
  marking source repository as being upgraded; clients will be unable to read from repository
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   782
  starting in-place swap of repository data
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   783
  replacing store...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   784
  store replacement complete; repository was inconsistent for *s (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   785
  finalizing requirements file and making repository readable again
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   786
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   787
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   788
Check that the repo still works fine
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   789
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   790
  $ hg log -G --stat
43074
9cc55b743713 tests: conditionalize output for Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43031
diff changeset
   791
  @  changeset:   2:76d4395f5413 (no-py3 !)
9cc55b743713 tests: conditionalize output for Python 3
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43031
diff changeset
   792
  @  changeset:   2:fca376863211 (py3 !)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   793
  |  tag:         tip
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   794
  |  parent:      0:ba592bf28da2
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   795
  |  user:        test
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   796
  |  date:        Thu Jan 01 00:00:00 1970 +0000
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   797
  |  summary:     add f2
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   798
  |
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   799
  |   f2 |  100000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   800
  |   1 files changed, 100000 insertions(+), 0 deletions(-)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   801
  |
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   802
  | o  changeset:   1:2029ce2354e2
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   803
  |/   user:        test
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   804
  |    date:        Thu Jan 01 00:00:00 1970 +0000
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   805
  |    summary:     add f1
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   806
  |
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   807
  |
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   808
  o  changeset:   0:ba592bf28da2
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   809
     user:        test
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   810
     date:        Thu Jan 01 00:00:00 1970 +0000
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   811
     summary:     initial
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   812
  
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   813
  
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   814
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   815
  $ hg verify
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   816
  checking changesets
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   817
  checking manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   818
  crosschecking files in changesets and manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   819
  checking files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   820
  checked 3 changesets with 3 changes to 3 files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   821
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   822
Check we can select negatively
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   823
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   824
  $ hg debugupgrade --optimize re-delta-parent --run --no-manifest --no-backup --debug --traceback
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   825
  upgrade will perform the following actions:
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   826
  
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   827
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   828
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   829
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   830
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   831
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   832
  
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   833
  re-delta-parent
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   834
     deltas within internal storage will choose a new base revision if needed
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   835
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   836
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   837
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   838
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   839
  
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   840
  beginning upgrade...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   841
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   842
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   843
  (it is safe to interrupt this process any time before data migration completes)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   844
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   845
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   846
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   847
  cloning 1 revisions from data/FooBarDirectory.d/f1.i
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   848
  cloning 1 revisions from data/f0.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   849
  cloning 1 revisions from data/f2.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   850
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   851
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   852
  blindly copying 00manifest.i containing 3 revisions
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   853
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   854
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   855
  cloning 3 revisions from 00changelog.i
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   856
  finished migrating 3 changelog revisions; change in size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   857
  finished migrating 9 total revisions; total change in store size: 0 bytes
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   858
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   859
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   860
  data fully upgraded in a temporary repository
42830
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   861
  marking source repository as being upgraded; clients will be unable to read from repository
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   862
  starting in-place swap of repository data
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   863
  replacing store...
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   864
  store replacement complete; repository was inconsistent for *s (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   865
  finalizing requirements file and making repository readable again
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   866
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   867
  $ hg verify
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   868
  checking changesets
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   869
  checking manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   870
  crosschecking files in changesets and manifests
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   871
  checking files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   872
  checked 3 changesets with 3 changes to 3 files
cf2b765cecd7 upgrade: add an argument to control manifest upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42137
diff changeset
   873
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   874
Check that we can select changelog only
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   875
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   876
  $ hg debugupgrade --optimize re-delta-parent --run --changelog --no-backup --debug --traceback
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   877
  upgrade will perform the following actions:
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   878
  
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   879
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   880
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   881
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   882
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   883
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   884
  
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   885
  re-delta-parent
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   886
     deltas within internal storage will choose a new base revision if needed
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   887
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   888
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   889
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   890
  
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   891
  beginning upgrade...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   892
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   893
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   894
  (it is safe to interrupt this process any time before data migration completes)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   895
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   896
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   897
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   898
  blindly copying data/FooBarDirectory.d/f1.i containing 1 revisions
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   899
  blindly copying data/f0.i containing 1 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   900
  blindly copying data/f2.i containing 1 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   901
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   902
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   903
  blindly copying 00manifest.i containing 3 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   904
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   905
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   906
  cloning 3 revisions from 00changelog.i
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   907
  finished migrating 3 changelog revisions; change in size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   908
  finished migrating 9 total revisions; total change in store size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   909
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   910
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   911
  data fully upgraded in a temporary repository
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   912
  marking source repository as being upgraded; clients will be unable to read from repository
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   913
  starting in-place swap of repository data
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   914
  replacing store...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   915
  store replacement complete; repository was inconsistent for *s (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   916
  finalizing requirements file and making repository readable again
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   917
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   918
  $ hg verify
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   919
  checking changesets
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   920
  checking manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   921
  crosschecking files in changesets and manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   922
  checking files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   923
  checked 3 changesets with 3 changes to 3 files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   924
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   925
Check that we can select filelog only
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   926
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   927
  $ hg debugupgrade --optimize re-delta-parent --run --no-changelog --no-manifest --no-backup --debug --traceback
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   928
  upgrade will perform the following actions:
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   929
  
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   930
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   931
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   932
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   933
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   934
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
   935
  
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   936
  re-delta-parent
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   937
     deltas within internal storage will choose a new base revision if needed
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   938
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   939
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   940
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
   941
  
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   942
  beginning upgrade...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   943
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   944
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   945
  (it is safe to interrupt this process any time before data migration completes)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   946
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   947
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
   948
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   949
  cloning 1 revisions from data/FooBarDirectory.d/f1.i
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   950
  cloning 1 revisions from data/f0.i
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   951
  cloning 1 revisions from data/f2.i
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   952
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   953
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   954
  blindly copying 00manifest.i containing 3 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   955
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
   956
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   957
  blindly copying 00changelog.i containing 3 revisions
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   958
  finished migrating 3 changelog revisions; change in size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   959
  finished migrating 9 total revisions; total change in store size: 0 bytes
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   960
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   961
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
   962
  data fully upgraded in a temporary repository
42831
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   963
  marking source repository as being upgraded; clients will be unable to read from repository
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   964
  starting in-place swap of repository data
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   965
  replacing store...
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   966
  store replacement complete; repository was inconsistent for *s (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   967
  finalizing requirements file and making repository readable again
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   968
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   969
  $ hg verify
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   970
  checking changesets
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   971
  checking manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   972
  crosschecking files in changesets and manifests
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   973
  checking files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   974
  checked 3 changesets with 3 changes to 3 files
908ff446590e upgrade: add an argument to control changelog upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42830
diff changeset
   975
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
   976
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
   977
Check you can't skip revlog clone during important format downgrade
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
   978
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
   979
  $ echo "[format]" > .hg/hgrc
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
   980
  $ echo "sparse-revlog=no" >> .hg/hgrc
48446
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   981
  $ hg debugupgrade --optimize re-delta-parent --no-manifest --no-backup --quiet
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   982
  warning: ignoring  --no-manifest, as upgrade is changing: sparserevlog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   983
  
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   984
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   985
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
   986
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
48446
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   987
     removed: sparserevlog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   988
  
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   989
  optimisations: re-delta-parent
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   990
  
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   991
  processed revlogs:
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   992
    - all-filelogs
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   993
    - changelog
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   994
    - manifest
1d0978cfe968 upgrade: explicitly warn when a `--no-xxx` flag is overwritten
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48437
diff changeset
   995
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
   996
  $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
48447
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   997
  note:    selecting all-filelogs for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   998
  note:    selecting changelog for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
   999
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1000
  upgrade will perform the following actions:
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1001
  
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1002
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1003
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1004
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1005
     removed: sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1006
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1007
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1008
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1009
  re-delta-parent
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1010
     deltas within internal storage will choose a new base revision if needed
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1011
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1012
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1013
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1014
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1015
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1016
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1017
  beginning upgrade...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1018
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1019
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1020
  (it is safe to interrupt this process any time before data migration completes)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1021
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
  1022
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
  1023
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
  1024
  cloning 1 revisions from data/FooBarDirectory.d/f1.i
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1025
  cloning 1 revisions from data/f0.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1026
  cloning 1 revisions from data/f2.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1027
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
  1028
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1029
  cloning 3 revisions from 00manifest.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1030
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
  1031
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1032
  cloning 3 revisions from 00changelog.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1033
  finished migrating 3 changelog revisions; change in size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1034
  finished migrating 9 total revisions; total change in store size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1035
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1036
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1037
  data fully upgraded in a temporary repository
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1038
  marking source repository as being upgraded; clients will be unable to read from repository
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1039
  starting in-place swap of repository data
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1040
  replacing store...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1041
  store replacement complete; repository was inconsistent for *s (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1042
  finalizing requirements file and making repository readable again
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1043
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1044
  $ hg verify
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1045
  checking changesets
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1046
  checking manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1047
  crosschecking files in changesets and manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1048
  checking files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1049
  checked 3 changesets with 3 changes to 3 files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1050
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1051
Check you can't skip revlog clone during important format upgrade
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1052
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1053
  $ echo "sparse-revlog=yes" >> .hg/hgrc
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1054
  $ hg debugupgrade --optimize re-delta-parent --run --manifest --no-backup --debug --traceback
48447
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
  1055
  note:    selecting all-filelogs for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
  1056
  note:    selecting changelog for processing to change: sparserevlog
8405c1bffacf upgrade: issue a message when a revlog type has to be upgraded
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48446
diff changeset
  1057
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1058
  upgrade will perform the following actions:
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1059
  
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1060
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1061
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1062
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1063
     added: sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1064
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1065
  optimisations: re-delta-parent
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1066
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1067
  sparserevlog
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1068
     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.
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1069
  
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1070
  re-delta-parent
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1071
     deltas within internal storage will choose a new base revision if needed
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1072
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1073
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1074
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1075
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1076
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1077
  
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1078
  beginning upgrade...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1079
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1080
  creating temporary repository to stage upgraded data: $TESTTMP/upgradegd/.hg/upgrade.* (glob)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1081
  (it is safe to interrupt this process any time before data migration completes)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1082
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
43001
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
  1083
  migrating 519 KB in store; 1.05 MB tracked data
675a925b556d upgrade: fix handling of `.d` data file
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42999
diff changeset
  1084
  migrating 3 filelogs containing 3 revisions (518 KB in store; 1.05 MB tracked data)
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
  1085
  cloning 1 revisions from data/FooBarDirectory.d/f1.i
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1086
  cloning 1 revisions from data/f0.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1087
  cloning 1 revisions from data/f2.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1088
  finished migrating 3 filelog revisions across 3 filelogs; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
  1089
  migrating 1 manifests containing 3 revisions (367 bytes in store; 238 bytes tracked data)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1090
  cloning 3 revisions from 00manifest.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1091
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
42999
bb6902cbbe23 upgrade: create the correct destination directory for copies revlogs
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42832
diff changeset
  1092
  migrating changelog containing 3 revisions (394 bytes in store; 199 bytes tracked data)
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1093
  cloning 3 revisions from 00changelog.i
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1094
  finished migrating 3 changelog revisions; change in size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1095
  finished migrating 9 total revisions; total change in store size: 0 bytes
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1096
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1097
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1098
  data fully upgraded in a temporary repository
42832
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1099
  marking source repository as being upgraded; clients will be unable to read from repository
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1100
  starting in-place swap of repository data
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1101
  replacing store...
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1102
  store replacement complete; repository was inconsistent for *s (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1103
  finalizing requirements file and making repository readable again
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1104
  removing temporary repository $TESTTMP/upgradegd/.hg/upgrade.* (glob)
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1105
  $ hg verify
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1106
  checking changesets
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1107
  checking manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1108
  crosschecking files in changesets and manifests
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1109
  checking files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1110
  checked 3 changesets with 3 changes to 3 files
a3c2ffcd266f upgrade: make sure we reclone all revlogs when updating to some format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42831
diff changeset
  1111
30777
7de7afd8bdd9 repair: begin implementation of in-place upgrading
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30776
diff changeset
  1112
  $ cd ..
31798
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1113
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1114
store files with special filenames aren't encoded during copy
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1115
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1116
  $ hg init store-filenames
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1117
  $ cd store-filenames
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1118
  $ touch foo
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1119
  $ hg -q commit -A -m initial
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1120
  $ touch .hg/store/.XX_special_filename
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1121
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1122
  $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
  1123
  nothing to do
46208
083438d6f403 upgrade: drop support for old style optimization names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46207
diff changeset
  1124
  $ hg debugupgraderepo --run --optimize 're-delta-fulladd'
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1125
  upgrade will perform the following actions:
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1126
  
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1127
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1128
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1129
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1130
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1131
  optimisations: re-delta-fulladd
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1132
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
  1133
  re-delta-fulladd
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1134
     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
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1135
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1136
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1137
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1138
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1139
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1140
  
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1141
  beginning upgrade...
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1142
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1143
  creating temporary repository to stage upgraded data: $TESTTMP/store-filenames/.hg/upgrade.* (glob)
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1144
  (it is safe to interrupt this process any time before data migration completes)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1145
  migrating 3 total revisions (1 in filelogs, 1 in manifests, 1 in changelog)
39857
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39489
diff changeset
  1146
  migrating 301 bytes in store; 107 bytes tracked data
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39489
diff changeset
  1147
  migrating 1 filelogs containing 1 revisions (64 bytes in store; 0 bytes tracked data)
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1148
  finished migrating 1 filelog revisions across 1 filelogs; change in size: 0 bytes
39857
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39489
diff changeset
  1149
  migrating 1 manifests containing 1 revisions (110 bytes in store; 45 bytes tracked data)
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1150
  finished migrating 1 manifest revisions across 1 manifests; change in size: 0 bytes
39857
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39489
diff changeset
  1151
  migrating changelog containing 1 revisions (127 bytes in store; 62 bytes tracked data)
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1152
  finished migrating 1 changelog revisions; change in size: 0 bytes
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1153
  finished migrating 3 total revisions; total change in store size: 0 bytes
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1154
  copying .XX_special_filename
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1155
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1156
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1157
  data fully upgraded in a temporary repository
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1158
  marking source repository as being upgraded; clients will be unable to read from repository
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1159
  starting in-place swap of repository data
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1160
  replaced files will be backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1161
  replacing store...
35360
6699825f1242 test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents: 35345
diff changeset
  1162
  store replacement complete; repository was inconsistent for *s (glob)
35345
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1163
  finalizing requirements file and making repository readable again
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1164
  removing temporary repository $TESTTMP/store-filenames/.hg/upgrade.* (glob)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1165
  copy of old repository backed up at $TESTTMP/store-filenames/.hg/upgradebackup.* (glob)
6226668a7169 upgrade: add a 'redeltafullall' mode
Boris Feld <boris.feld@octobus.net>
parents: 35342
diff changeset
  1166
  the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
31798
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1167
40836
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39857
diff changeset
  1168
fncache is valid after upgrade
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39857
diff changeset
  1169
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39857
diff changeset
  1170
  $ hg debugrebuildfncache
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39857
diff changeset
  1171
  fncache already up to date
5887973febc7 upgrade: test that fncache is valid after repository upgrade
Boris Feld <boris.feld@octobus.net>
parents: 39857
diff changeset
  1172
31798
8c9178d647f7 tests: add test demonstrating buggy path handling
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30781
diff changeset
  1173
  $ cd ..
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1174
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1175
Check upgrading a large file repository
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1176
---------------------------------------
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1177
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1178
  $ hg init largefilesrepo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1179
  $ cat << EOF >> largefilesrepo/.hg/hgrc
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1180
  > [extensions]
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1181
  > largefiles =
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1182
  > EOF
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1183
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1184
  $ cd largefilesrepo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1185
  $ touch foo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1186
  $ hg add --large foo
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1187
  $ hg -q commit -m initial
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1188
  $ hg debugrequires
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1189
  dotencode
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1190
  fncache
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1191
  generaldelta
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1192
  largefiles
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1193
  persistent-nodemap (rust !)
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1194
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1195
  share-safe
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1196
  sparserevlog
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1197
  store
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1198
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1199
  $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
  1200
  nothing to do
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1201
  $ hg debugrequires
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1202
  dotencode
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1203
  fncache
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1204
  generaldelta
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1205
  largefiles
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1206
  persistent-nodemap (rust !)
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1207
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1208
  share-safe
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1209
  sparserevlog
35303
67b7e39b441b largefiles: allow to run 'debugupgraderepo' on repo with largefiles
Boris Feld <boris.feld@octobus.net>
parents: 31799
diff changeset
  1210
  store
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1211
35361
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1212
  $ cat << EOF >> .hg/hgrc
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1213
  > [extensions]
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1214
  > lfs =
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1215
  > [lfs]
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1216
  > threshold = 10
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1217
  > EOF
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1218
  $ echo '123456789012345' > lfs.bin
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1219
  $ hg ci -Am 'lfs.bin'
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1220
  adding lfs.bin
48657
68b7faeb6ef3 tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48656
diff changeset
  1221
  $ hg debugrequires | grep lfs
35361
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1222
  lfs
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1223
  $ find .hg/store/lfs -type f
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1224
  .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1225
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1226
  $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
  1227
  nothing to do
35361
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1228
48657
68b7faeb6ef3 tests: use debugrequires instead of grepping the file directly
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48656
diff changeset
  1229
  $ hg debugrequires | grep lfs
35361
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1230
  lfs
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1231
  $ find .hg/store/lfs -type f
35363
b0ba1539af01 lfs: restore the local blob store after a repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35361
diff changeset
  1232
  .hg/store/lfs/objects/d0/beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f
35361
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1233
  $ hg verify
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1234
  checking changesets
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1235
  checking manifests
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1236
  crosschecking files in changesets and manifests
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1237
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 38720
diff changeset
  1238
  checked 2 changesets with 2 changes to 2 files
35361
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1239
  $ hg debugdata lfs.bin 0
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1240
  version https://git-lfs.github.com/spec/v1
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1241
  oid sha256:d0beab232adff5ba365880366ad30b1edb85c4c5372442b5d2fe27adc96d653f
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1242
  size 16
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1243
  x-is-binary 0
b2f628dd99c3 tests: add coverage for preserving 'lfs' requirement on repo upgrade
Matt Harbison <matt_harbison@yahoo.com>
parents: 35360
diff changeset
  1244
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1245
  $ cd ..
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1246
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1247
repository config is taken in account
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1248
-------------------------------------
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1249
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1250
  $ cat << EOF >> $HGRCPATH
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1251
  > [format]
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1252
  > maxchainlen = 1
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1253
  > EOF
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1254
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1255
  $ hg init localconfig
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1256
  $ cd localconfig
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1257
  $ cat << EOF > file
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1258
  > some content
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1259
  > with some length
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1260
  > to make sure we get a delta
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1261
  > after changes
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1262
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1263
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1264
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1265
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1266
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1267
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1268
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1269
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1270
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1271
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1272
  > very long
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1273
  > EOF
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1274
  $ hg -q commit -A -m A
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1275
  $ echo "new line" >> file
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1276
  $ hg -q commit -m B
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1277
  $ echo "new line" >> file
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1278
  $ hg -q commit -m C
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1279
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1280
  $ cat << EOF >> .hg/hgrc
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1281
  > [format]
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1282
  > maxchainlen = 9001
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1283
  > EOF
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1284
  $ hg config format
46849
1a17c35fb9fd test: explicitly use zlib compression in tests/test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46706
diff changeset
  1285
  format.revlog-compression=$BUNDLE2_COMPRESSIONS$
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1286
  format.maxchainlen=9001
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36373
diff changeset
  1287
  $ hg debugdeltachain file
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1288
      rev  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio   readsize largestblk rddensity srchunks
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1289
        0       1        1       -1    base         77        182         77   0.42308        77         0    0.00000         77         77   1.00000        1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1290
        1       1        2        0      p1         21        191         98   0.51309        98         0    0.00000         98         98   1.00000        1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1291
        2       1        2        0   other         30        200        107   0.53500       128        21    0.19626        128        128   0.83594        1
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1292
46208
083438d6f403 upgrade: drop support for old style optimization names
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46207
diff changeset
  1293
  $ hg debugupgraderepo --run --optimize 're-delta-all'
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1294
  upgrade will perform the following actions:
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1295
  
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1296
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1297
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1298
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1299
  
44797
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1300
  optimisations: re-delta-all
5ee4b2119af9 upgrade: clearly list optimisations
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44746
diff changeset
  1301
  
41088
5608b5a6c323 upgrade: add '-' in optimization name
Boris Feld <boris.feld@octobus.net>
parents: 40918
diff changeset
  1302
  re-delta-all
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1303
     deltas within internal storage will be fully recomputed; this will likely drastically slow down execution time
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1304
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1305
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1306
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1307
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1308
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1309
  
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1310
  beginning upgrade...
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1311
  repository locked and read-only
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1312
  creating temporary repository to stage upgraded data: $TESTTMP/localconfig/.hg/upgrade.* (glob)
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1313
  (it is safe to interrupt this process any time before data migration completes)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1314
  migrating 9 total revisions (3 in filelogs, 3 in manifests, 3 in changelog)
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1315
  migrating 1019 bytes in store; 882 bytes tracked data
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1316
  migrating 1 filelogs containing 3 revisions (320 bytes in store; 573 bytes tracked data)
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1317
  finished migrating 3 filelog revisions across 1 filelogs; change in size: -9 bytes
39857
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39489
diff changeset
  1318
  migrating 1 manifests containing 3 revisions (333 bytes in store; 138 bytes tracked data)
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1319
  finished migrating 3 manifest revisions across 1 manifests; change in size: 0 bytes
39857
8dab7c8a93eb upgrade: report size of backing files, not internal storage size
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39489
diff changeset
  1320
  migrating changelog containing 3 revisions (366 bytes in store; 171 bytes tracked data)
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1321
  finished migrating 3 changelog revisions; change in size: 0 bytes
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1322
  finished migrating 9 total revisions; total change in store size: -9 bytes
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1323
  copying phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1324
  copying requires
46222
e22aed089567 upgrade: migrated -> upgraded in ui messages
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46208
diff changeset
  1325
  data fully upgraded in a temporary repository
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1326
  marking source repository as being upgraded; clients will be unable to read from repository
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1327
  starting in-place swap of repository data
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1328
  replaced files will be backed up at $TESTTMP/localconfig/.hg/upgradebackup.* (glob)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1329
  replacing store...
35360
6699825f1242 test-upgrade-repo: glob away timing values
Matt Harbison <matt_harbison@yahoo.com>
parents: 35345
diff changeset
  1330
  store replacement complete; repository was inconsistent for *s (glob)
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1331
  finalizing requirements file and making repository readable again
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1332
  removing temporary repository $TESTTMP/localconfig/.hg/upgrade.* (glob)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1333
  copy of old repository backed up at $TESTTMP/localconfig/.hg/upgradebackup.* (glob)
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1334
  the old repository will not be deleted; remove it to free up disk space once the upgraded repository is verified
37281
806b07d7c7d6 tests: use debugdeltachain where appropriate
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36373
diff changeset
  1335
  $ hg debugdeltachain file
40918
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1336
      rev  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio   readsize largestblk rddensity srchunks
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1337
        0       1        1       -1    base         77        182         77   0.42308        77         0    0.00000         77         77   1.00000        1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1338
        1       1        2        0      p1         21        191         98   0.51309        98         0    0.00000         98         98   1.00000        1
3764330f76a6 sparse-revlog: enabled by default
Boris Feld <boris.feld@octobus.net>
parents: 40917
diff changeset
  1339
        2       1        3        1      p1         21        200        119   0.59500       119         0    0.00000        119        119   1.00000        1
35341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1340
  $ cd ..
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1341
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1342
  $ cat << EOF >> $HGRCPATH
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1343
  > [format]
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1344
  > maxchainlen = 9001
cb7a0ae053c6 upgrade: add a test to show the repository config being ignored
Boris Feld <boris.feld@octobus.net>
parents: 35340
diff changeset
  1345
  > EOF
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1346
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1347
Check upgrading a sparse-revlog repository
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1348
---------------------------------------
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1349
40917
e8cd688b2eb1 test: preemptively disable sparse-revlog for some of test-upgrade-repo
Boris Feld <boris.feld@octobus.net>
parents: 40883
diff changeset
  1350
  $ hg init sparserevlogrepo --config format.sparse-revlog=no
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1351
  $ cd sparserevlogrepo
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1352
  $ touch foo
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1353
  $ hg add foo
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1354
  $ hg -q commit -m "foo"
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1355
  $ hg debugrequires
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1356
  dotencode
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1357
  fncache
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1358
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1359
  persistent-nodemap (rust !)
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1360
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1361
  share-safe
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1362
  store
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1363
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1364
Check that we can add the sparse-revlog format requirement
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1365
  $ hg --config format.sparse-revlog=yes debugupgraderepo --run --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1366
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1367
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1368
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1369
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1370
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1371
     added: sparserevlog
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1372
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1373
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1374
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1375
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1376
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1377
  
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1378
  $ hg debugrequires
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1379
  dotencode
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1380
  fncache
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1381
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1382
  persistent-nodemap (rust !)
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1383
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1384
  share-safe
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1385
  sparserevlog
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1386
  store
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1387
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1388
Check that we can remove the sparse-revlog format requirement
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1389
  $ hg --config format.sparse-revlog=no debugupgraderepo --run --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1390
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1391
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1392
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1393
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1394
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1395
     removed: sparserevlog
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1396
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1397
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1398
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1399
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1400
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1401
  
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1402
  $ hg debugrequires
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1403
  dotencode
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1404
  fncache
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1405
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1406
  persistent-nodemap (rust !)
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1407
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1408
  share-safe
38720
d12415b8f833 upgrade: enable adding or removing sparse-revlog requirement
Paul Morelle <paul.morelle@octobus.net>
parents: 38719
diff changeset
  1409
  store
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1410
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1411
#if zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1412
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1413
Check upgrading to a zstd revlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1414
--------------------------------
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1415
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1416
upgrade
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1417
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1418
  $ hg --config format.revlog-compression=zstd debugupgraderepo --run  --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1419
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1420
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1421
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1422
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1423
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1424
     added: revlog-compression-zstd, sparserevlog
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1425
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1426
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1427
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1428
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1429
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1430
  
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1431
  $ hg debugformat -v
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1432
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1433
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1434
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1435
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1436
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1437
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1438
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1439
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1440
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1441
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1442
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
  1443
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1444
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1445
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1446
  compression:        zstd   zlib    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1447
  compression-level:  default default default
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1448
  $ hg debugrequires
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1449
  dotencode
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1450
  fncache
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1451
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1452
  persistent-nodemap (rust !)
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1453
  revlog-compression-zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1454
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1455
  share-safe
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1456
  sparserevlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1457
  store
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1458
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1459
downgrade
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1460
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1461
  $ hg debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1462
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1463
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1464
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1465
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1466
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1467
     removed: revlog-compression-zstd
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1468
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1469
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1470
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1471
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1472
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1473
  
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1474
  $ hg debugformat -v
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1475
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1476
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1477
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1478
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1479
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1480
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1481
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1482
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1483
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1484
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1485
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
  1486
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1487
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1488
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1489
  compression:        zlib   zlib    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1490
  compression-level:  default default default
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1491
  $ hg debugrequires
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1492
  dotencode
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1493
  fncache
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1494
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1495
  persistent-nodemap (rust !)
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1496
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1497
  share-safe
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1498
  sparserevlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1499
  store
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1500
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1501
upgrade from hgrc
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1502
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1503
  $ cat >> .hg/hgrc << EOF
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1504
  > [format]
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1505
  > revlog-compression=zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1506
  > EOF
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1507
  $ hg debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1508
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1509
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1510
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1511
     preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1512
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (rust !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1513
     added: revlog-compression-zstd
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1514
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1515
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1516
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1517
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1518
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1519
  
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1520
  $ hg debugformat -v
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1521
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1522
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1523
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1524
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1525
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1526
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1527
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1528
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1529
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1530
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1531
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
  1532
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1533
  plain-cl-delta:     yes    yes     yes
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1534
  compression:        zlib   zlib    zlib (no-zstd !)
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1535
  compression:        zstd   zstd    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1536
  compression-level:  default default default
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1537
  $ hg debugrequires
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1538
  dotencode
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1539
  fncache
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1540
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1541
  persistent-nodemap (rust !)
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1542
  revlog-compression-zstd
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1543
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1544
  share-safe
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1545
  sparserevlog
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1546
  store
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1547
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1548
#endif
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1549
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1550
Check upgrading to a revlog format supporting sidedata
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1551
------------------------------------------------------
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1552
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1553
upgrade
42137
d086ba387ae8 upgrade: support upgrade to/from zstd storage (issue6088)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 42045
diff changeset
  1554
47223
281060fbccef upgrade: display sidedata before upgrade
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46884
diff changeset
  1555
  $ hg debugsidedata -c 0
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1556
  $ hg --config experimental.revlogv2=enable-unstable-format-and-corrupt-my-data debugupgraderepo --run  --no-backup --config "extensions.sidedata=$TESTDIR/testlib/ext-sidedata.py" --quiet
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1557
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1558
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1559
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1560
     preserved: dotencode, fncache, generaldelta, share-safe, store (no-zstd !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1561
     preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, share-safe, sparserevlog, store (zstd no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1562
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, share-safe, sparserevlog, store (rust !)
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1563
     removed: revlogv1
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1564
     added: exp-revlogv2.2 (zstd !)
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1565
     added: exp-revlogv2.2, sparserevlog (no-zstd !)
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1566
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1567
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1568
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1569
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1570
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1571
  
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1572
  $ hg debugformat -v
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1573
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1574
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1575
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1576
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1577
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1578
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1579
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1580
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1581
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1582
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1583
  revlog-v2:          yes     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
  1584
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1585
  plain-cl-delta:     yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1586
  compression:        zlib   zlib    zlib (no-zstd !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1587
  compression:        zstd   zstd    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1588
  compression-level:  default default default
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1589
  $ hg debugrequires
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1590
  dotencode
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1591
  exp-revlogv2.2
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1592
  fncache
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1593
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1594
  persistent-nodemap (rust !)
43144
ea230325dc8c test: fix zstd related output in pure tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43138
diff changeset
  1595
  revlog-compression-zstd (zstd !)
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1596
  share-safe
43134
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1597
  sparserevlog
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1598
  store
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1599
  $ hg debugsidedata -c 0
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1600
  2 sidedata entries
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1601
   entry-0001 size 4
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1602
   entry-0002 size 32
75ad8af9c95e upgrade: allow upgrade to repository using sidedata
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43074
diff changeset
  1603
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1604
downgrade
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1605
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1606
  $ hg debugupgraderepo --config experimental.revlogv2=no --run --no-backup --quiet
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1607
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1608
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1609
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1610
     preserved: dotencode, fncache, generaldelta, share-safe, sparserevlog, store (no-zstd !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1611
     preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, share-safe, sparserevlog, store (zstd no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1612
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, share-safe, sparserevlog, store (rust !)
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1613
     removed: exp-revlogv2.2
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1614
     added: revlogv1
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1615
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1616
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1617
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1618
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1619
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1620
  
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1621
  $ hg debugformat -v
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1622
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1623
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1624
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1625
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1626
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1627
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1628
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1629
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1630
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1631
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1632
  revlog-v2:           no     no      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
  1633
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1634
  plain-cl-delta:     yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1635
  compression:        zlib   zlib    zlib (no-zstd !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1636
  compression:        zstd   zstd    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1637
  compression-level:  default default default
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1638
  $ hg debugrequires
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1639
  dotencode
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1640
  fncache
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1641
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1642
  persistent-nodemap (rust !)
43144
ea230325dc8c test: fix zstd related output in pure tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43138
diff changeset
  1643
  revlog-compression-zstd (zstd !)
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1644
  revlogv1
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1645
  share-safe
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1646
  sparserevlog
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1647
  store
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1648
  $ hg debugsidedata -c 0
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1649
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1650
upgrade from hgrc
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1651
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1652
  $ cat >> .hg/hgrc << EOF
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1653
  > [experimental]
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1654
  > revlogv2=enable-unstable-format-and-corrupt-my-data
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1655
  > EOF
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1656
  $ hg debugupgraderepo --run --no-backup --quiet
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1657
  upgrade will perform the following actions:
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1658
  
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1659
  requirements
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1660
     preserved: dotencode, fncache, generaldelta, share-safe, sparserevlog, store (no-zstd !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1661
     preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, share-safe, sparserevlog, store (zstd no-rust !)
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1662
     preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, share-safe, sparserevlog, store (rust !)
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1663
     removed: revlogv1
47227
0dedd3d063b0 test: no longer directly use the sidedata config and requirements
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47223
diff changeset
  1664
     added: exp-revlogv2.2
44798
e295ba238bd8 upgrade: support the --quiet flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44797
diff changeset
  1665
  
46035
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1666
  processed revlogs:
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1667
    - all-filelogs
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1668
    - changelog
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1669
    - manifest
6c960b708ac4 upgrade: display the list of processed revlog before proceeding
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46002
diff changeset
  1670
  
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1671
  $ hg debugformat -v
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1672
  format-variant     repo config default
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1673
  fncache:            yes    yes     yes
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1674
  dirstate-v2:         no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1675
  dotencode:          yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1676
  generaldelta:       yes    yes     yes
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1677
  share-safe:         yes    yes     yes
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1678
  sparserevlog:       yes    yes     yes
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1679
  persistent-nodemap:  no     no      no (no-rust !)
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1680
  persistent-nodemap: yes    yes      no (rust !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1681
  copies-sdc:          no     no      no
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1682
  revlog-v2:          yes    yes      no
47263
6c84fc9c9a90 changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47227
diff changeset
  1683
  changelog-v2:        no     no      no
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1684
  plain-cl-delta:     yes    yes     yes
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1685
  compression:        zlib   zlib    zlib (no-zstd !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46849
diff changeset
  1686
  compression:        zstd   zstd    zstd (zstd !)
44799
ea9563e9e65a nodemap: teach `hg debugformat` about the persistent nodemap option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44798
diff changeset
  1687
  compression-level:  default default default
48656
100481195114 tests: use debugrequires in test-upgrade-repo.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48464
diff changeset
  1688
  $ hg debugrequires
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1689
  dotencode
46705
fd55a9eb1507 revlogv2: allow upgrading to v2
Raphaël Gomès <rgomes@octobus.net>
parents: 46375
diff changeset
  1690
  exp-revlogv2.2
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1691
  fncache
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1692
  generaldelta
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
  1693
  persistent-nodemap (rust !)
43144
ea230325dc8c test: fix zstd related output in pure tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43138
diff changeset
  1694
  revlog-compression-zstd (zstd !)
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48657
diff changeset
  1695
  share-safe
43135
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1696
  sparserevlog
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1697
  store
6e3dc1eff5c7 upgrade: allow for `sidedata` removal
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43134
diff changeset
  1698
  $ hg debugsidedata -c 0
46223
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
  1699
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
  1700
Demonstrate that nothing to perform upgrade will still run all the way through
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
  1701
24bfd98978da upgrade: demonstrate that a no-op upgrade still performs everything
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46222
diff changeset
  1702
  $ hg debugupgraderepo --run
46231
d3113c4cf52c upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com>
parents: 46223
diff changeset
  1703
  nothing to do
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1704
48436
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1705
#if no-rust
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1706
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1707
  $ cat << EOF >> $HGRCPATH
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1708
  > [storage]
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1709
  > dirstate-v2.slow-path = allow
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1710
  > EOF
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1711
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1712
#endif
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1713
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1714
Upgrade to dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1715
48434
d4c084160434 test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
  1716
  $ hg debugformat -v --config format.exp-rc-dirstate-v2=1 | grep dirstate-v2
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1717
  dirstate-v2:         no    yes      no
48295
bf11ff22a9af dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47320
diff changeset
  1718
  $ hg debugupgraderepo --config format.exp-rc-dirstate-v2=1 --run
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1719
  upgrade will perform the following actions:
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1720
  
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1721
  requirements
48436
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1722
     preserved: * (glob)
48295
bf11ff22a9af dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47320
diff changeset
  1723
     added: dirstate-v2
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1724
  
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1725
  dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1726
     "hg status" will be faster
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1727
  
48448
62e6222cc5b6 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48447
diff changeset
  1728
  no revlogs to process
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1729
  
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1730
  beginning upgrade...
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1731
  repository locked and read-only
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1732
  creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1733
  (it is safe to interrupt this process any time before data migration completes)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1734
  upgrading to dirstate-v2 from v1
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1735
  replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1736
  removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1737
  $ ls .hg/upgradebackup.*/dirstate
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1738
  .hg/upgradebackup.*/dirstate (glob)
48434
d4c084160434 test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
  1739
  $ hg debugformat -v | grep dirstate-v2
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1740
  dirstate-v2:        yes     no      no
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1741
  $ hg status
48435
18032c282a7e upgrade: don't use `dd status=none` in the test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48434
diff changeset
  1742
  $ dd bs=12 count=1 if=.hg/dirstate 2> /dev/null
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1743
  dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1744
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1745
Downgrade from dirstate-v2
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1746
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1747
  $ hg debugupgraderepo --run
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1748
  upgrade will perform the following actions:
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1749
  
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1750
  requirements
48436
25c352b58b4e dirstate-v2: test upgrade without rust too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48435
diff changeset
  1751
     preserved: * (glob)
48295
bf11ff22a9af dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47320
diff changeset
  1752
     removed: dirstate-v2
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1753
  
48448
62e6222cc5b6 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48447
diff changeset
  1754
  no revlogs to process
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1755
  
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1756
  beginning upgrade...
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1757
  repository locked and read-only
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1758
  creating temporary repository to stage upgraded data: $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1759
  (it is safe to interrupt this process any time before data migration completes)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1760
  downgrading from dirstate-v2 to v1
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1761
  replaced files will be backed up at $TESTTMP/sparserevlogrepo/.hg/upgradebackup.* (glob)
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1762
  removing temporary repository $TESTTMP/sparserevlogrepo/.hg/upgrade.* (glob)
48434
d4c084160434 test-upgrade: narrow the `debugformat` call when upgrading to dirstate-v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48295
diff changeset
  1763
  $ hg debugformat -v | grep dirstate-v2
47320
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1764
  dirstate-v2:         no     no      no
a43d256c041a dirstate-v2: Add `hg debugupgraderepo` command support
Simon Sapin <simon.sapin@octobus.net>
parents: 47263
diff changeset
  1765
  $ hg status
48437
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1766
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1767
  $ cd ..
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1768
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1769
dirstate-v2: upgrade and downgrade from and empty repository:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1770
-------------------------------------------------------------
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1771
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1772
  $ hg init --config format.exp-rc-dirstate-v2=no dirstate-v2-empty
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1773
  $ cd dirstate-v2-empty
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1774
  $ hg debugformat | grep dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1775
  dirstate-v2:         no
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1776
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1777
upgrade
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1778
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1779
  $ hg debugupgraderepo --run --config format.exp-rc-dirstate-v2=yes
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1780
  upgrade will perform the following actions:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1781
  
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1782
  requirements
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1783
     preserved: * (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1784
     added: dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1785
  
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1786
  dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1787
     "hg status" will be faster
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1788
  
48448
62e6222cc5b6 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48447
diff changeset
  1789
  no revlogs to process
48437
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1790
  
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1791
  beginning upgrade...
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1792
  repository locked and read-only
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1793
  creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1794
  (it is safe to interrupt this process any time before data migration completes)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1795
  upgrading to dirstate-v2 from v1
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1796
  replaced files will be backed up at $TESTTMP/dirstate-v2-empty/.hg/upgradebackup.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1797
  removing temporary repository $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1798
  $ hg debugformat | grep dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1799
  dirstate-v2:        yes
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1800
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1801
downgrade
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1802
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1803
  $ hg debugupgraderepo --run --config format.exp-rc-dirstate-v2=no
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1804
  upgrade will perform the following actions:
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1805
  
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1806
  requirements
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1807
     preserved: * (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1808
     removed: dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1809
  
48448
62e6222cc5b6 upgrade: only process revlogs that needs it by default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48447
diff changeset
  1810
  no revlogs to process
48437
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1811
  
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1812
  beginning upgrade...
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1813
  repository locked and read-only
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1814
  creating temporary repository to stage upgraded data: $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1815
  (it is safe to interrupt this process any time before data migration completes)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1816
  downgrading from dirstate-v2 to v1
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1817
  replaced files will be backed up at $TESTTMP/dirstate-v2-empty/.hg/upgradebackup.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1818
  removing temporary repository $TESTTMP/dirstate-v2-empty/.hg/upgrade.* (glob)
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1819
  $ hg debugformat | grep dirstate-v2
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1820
  dirstate-v2:         no
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1821
6e4999cb085e dirstate-v2: fix upgrade on an empty repository
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48436
diff changeset
  1822
  $ cd ..