tests/test-persistent-nodemap.t
changeset 47322 5bc6d2fc1cfc
parent 47290 40b51c28b242
child 47328 a43d256c041a
equal deleted inserted replaced
47321:9a3aa54774ff 47322:5bc6d2fc1cfc
    70   compression:        zstd (zstd !)
    70   compression:        zstd (zstd !)
    71   compression-level:  default
    71   compression-level:  default
    72   $ hg debugbuilddag .+5000 --new-file
    72   $ hg debugbuilddag .+5000 --new-file
    73 
    73 
    74   $ hg debugnodemap --metadata
    74   $ hg debugnodemap --metadata
    75   uid: ???????????????? (glob)
    75   uid: ???????? (glob)
    76   tip-rev: 5000
    76   tip-rev: 5000
    77   tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c
    77   tip-node: 6b02b8c7b96654c25e86ba69eda198d7e6ad8b3c
    78   data-length: 121088
    78   data-length: 121088
    79   data-unused: 0
    79   data-unused: 0
    80   data-unused: 0.000%
    80   data-unused: 0.000%
    81   $ f --size .hg/store/00changelog.n
    81   $ f --size .hg/store/00changelog.n
    82   .hg/store/00changelog.n: size=70
    82   .hg/store/00changelog.n: size=62
    83 
    83 
    84 Simple lookup works
    84 Simple lookup works
    85 
    85 
    86   $ ANYNODE=`hg log --template '{node|short}\n' --rev tip`
    86   $ ANYNODE=`hg log --template '{node|short}\n' --rev tip`
    87   $ hg log -r "$ANYNODE" --template '{rev}\n'
    87   $ hg log -r "$ANYNODE" --template '{rev}\n'
    89 
    89 
    90 
    90 
    91 #if rust
    91 #if rust
    92 
    92 
    93   $ f --sha256 .hg/store/00changelog-*.nd
    93   $ f --sha256 .hg/store/00changelog-*.nd
    94   .hg/store/00changelog-????????????????.nd: sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd (glob)
    94   .hg/store/00changelog-????????.nd: sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd (glob)
    95 
    95 
    96   $ f --sha256 .hg/store/00manifest-*.nd
    96   $ f --sha256 .hg/store/00manifest-*.nd
    97   .hg/store/00manifest-????????????????.nd: sha256=97117b1c064ea2f86664a124589e47db0e254e8d34739b5c5cc5bf31c9da2b51 (glob)
    97   .hg/store/00manifest-????????.nd: sha256=97117b1c064ea2f86664a124589e47db0e254e8d34739b5c5cc5bf31c9da2b51 (glob)
    98   $ hg debugnodemap --dump-new | f --sha256 --size
    98   $ hg debugnodemap --dump-new | f --sha256 --size
    99   size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd
    99   size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd
   100   $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size
   100   $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size
   101   size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd
   101   size=121088, sha256=2e029d3200bd1a986b32784fc2ef1a3bd60dc331f025718bcf5ff44d93f026fd
   102   0000: 00 00 00 91 00 00 00 20 00 00 00 bb 00 00 00 e7 |....... ........|
   102   0000: 00 00 00 91 00 00 00 20 00 00 00 bb 00 00 00 e7 |....... ........|
   118 
   118 
   119 
   119 
   120 #else
   120 #else
   121 
   121 
   122   $ f --sha256 .hg/store/00changelog-*.nd
   122   $ f --sha256 .hg/store/00changelog-*.nd
   123   .hg/store/00changelog-????????????????.nd: sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 (glob)
   123   .hg/store/00changelog-????????.nd: sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79 (glob)
   124   $ hg debugnodemap --dump-new | f --sha256 --size
   124   $ hg debugnodemap --dump-new | f --sha256 --size
   125   size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79
   125   size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79
   126   $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size
   126   $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size
   127   size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79
   127   size=121088, sha256=f544f5462ff46097432caf6d764091f6d8c46d6121be315ead8576d548c9dd79
   128   0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
   128   0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
   193 
   193 
   194   $ hg ci -m 'foo'
   194   $ hg ci -m 'foo'
   195 
   195 
   196 #if no-pure no-rust
   196 #if no-pure no-rust
   197   $ hg debugnodemap --metadata
   197   $ hg debugnodemap --metadata
   198   uid: ???????????????? (glob)
   198   uid: ???????? (glob)
   199   tip-rev: 5001
   199   tip-rev: 5001
   200   tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c
   200   tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c
   201   data-length: 121088
   201   data-length: 121088
   202   data-unused: 0
   202   data-unused: 0
   203   data-unused: 0.000%
   203   data-unused: 0.000%
   204 #else
   204 #else
   205   $ hg debugnodemap --metadata
   205   $ hg debugnodemap --metadata
   206   uid: ???????????????? (glob)
   206   uid: ???????? (glob)
   207   tip-rev: 5001
   207   tip-rev: 5001
   208   tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c
   208   tip-node: 16395c3cf7e231394735e6b1717823ada303fb0c
   209   data-length: 121344
   209   data-length: 121344
   210   data-unused: 256
   210   data-unused: 256
   211   data-unused: 0.211%
   211   data-unused: 0.211%
   212 #endif
   212 #endif
   213 
   213 
   214   $ f --size .hg/store/00changelog.n
   214   $ f --size .hg/store/00changelog.n
   215   .hg/store/00changelog.n: size=70
   215   .hg/store/00changelog.n: size=62
   216 
   216 
   217 (The pure code use the debug code that perform incremental update, the C code reencode from scratch)
   217 (The pure code use the debug code that perform incremental update, the C code reencode from scratch)
   218 
   218 
   219 #if pure
   219 #if pure
   220   $ f --sha256 .hg/store/00changelog-*.nd --size
   220   $ f --sha256 .hg/store/00changelog-*.nd --size
   221   .hg/store/00changelog-????????????????.nd: size=121344, sha256=cce54c5da5bde3ad72a4938673ed4064c86231b9c64376b082b163fdb20f8f66 (glob)
   221   .hg/store/00changelog-????????.nd: size=121344, sha256=cce54c5da5bde3ad72a4938673ed4064c86231b9c64376b082b163fdb20f8f66 (glob)
   222 #endif
   222 #endif
   223 
   223 
   224 #if rust
   224 #if rust
   225   $ f --sha256 .hg/store/00changelog-*.nd --size
   225   $ f --sha256 .hg/store/00changelog-*.nd --size
   226   .hg/store/00changelog-????????????????.nd: size=121344, sha256=952b042fcf614ceb37b542b1b723e04f18f83efe99bee4e0f5ccd232ef470e58 (glob)
   226   .hg/store/00changelog-????????.nd: size=121344, sha256=952b042fcf614ceb37b542b1b723e04f18f83efe99bee4e0f5ccd232ef470e58 (glob)
   227 #endif
   227 #endif
   228 
   228 
   229 #if no-pure no-rust
   229 #if no-pure no-rust
   230   $ f --sha256 .hg/store/00changelog-*.nd --size
   230   $ f --sha256 .hg/store/00changelog-*.nd --size
   231   .hg/store/00changelog-????????????????.nd: size=121088, sha256=df7c06a035b96cb28c7287d349d603baef43240be7736fe34eea419a49702e17 (glob)
   231   .hg/store/00changelog-????????.nd: size=121088, sha256=df7c06a035b96cb28c7287d349d603baef43240be7736fe34eea419a49702e17 (glob)
   232 #endif
   232 #endif
   233 
   233 
   234   $ hg debugnodemap --check
   234   $ hg debugnodemap --check
   235   revision in index:   5002
   235   revision in index:   5002
   236   revision in nodemap: 5002
   236   revision in nodemap: 5002
   250   revision in nodemap: 5003
   250   revision in nodemap: 5003
   251 
   251 
   252 
   252 
   253 #if pure
   253 #if pure
   254   $ hg debugnodemap --metadata
   254   $ hg debugnodemap --metadata
   255   uid: ???????????????? (glob)
   255   uid: ???????? (glob)
   256   tip-rev: 5002
   256   tip-rev: 5002
   257   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   257   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   258   data-length: 121600
   258   data-length: 121600
   259   data-unused: 512
   259   data-unused: 512
   260   data-unused: 0.421%
   260   data-unused: 0.421%
   261   $ f --sha256 .hg/store/00changelog-*.nd --size
   261   $ f --sha256 .hg/store/00changelog-*.nd --size
   262   .hg/store/00changelog-????????????????.nd: size=121600, sha256=def52503d049ccb823974af313a98a935319ba61f40f3aa06a8be4d35c215054 (glob)
   262   .hg/store/00changelog-????????.nd: size=121600, sha256=def52503d049ccb823974af313a98a935319ba61f40f3aa06a8be4d35c215054 (glob)
   263 #endif
   263 #endif
   264 #if rust
   264 #if rust
   265   $ hg debugnodemap --metadata
   265   $ hg debugnodemap --metadata
   266   uid: ???????????????? (glob)
   266   uid: ???????? (glob)
   267   tip-rev: 5002
   267   tip-rev: 5002
   268   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   268   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   269   data-length: 121600
   269   data-length: 121600
   270   data-unused: 512
   270   data-unused: 512
   271   data-unused: 0.421%
   271   data-unused: 0.421%
   272   $ f --sha256 .hg/store/00changelog-*.nd --size
   272   $ f --sha256 .hg/store/00changelog-*.nd --size
   273   .hg/store/00changelog-????????????????.nd: size=121600, sha256=dacf5b5f1d4585fee7527d0e67cad5b1ba0930e6a0928f650f779aefb04ce3fb (glob)
   273   .hg/store/00changelog-????????.nd: size=121600, sha256=dacf5b5f1d4585fee7527d0e67cad5b1ba0930e6a0928f650f779aefb04ce3fb (glob)
   274 #endif
   274 #endif
   275 #if no-pure no-rust
   275 #if no-pure no-rust
   276   $ hg debugnodemap --metadata
   276   $ hg debugnodemap --metadata
   277   uid: ???????????????? (glob)
   277   uid: ???????? (glob)
   278   tip-rev: 5002
   278   tip-rev: 5002
   279   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   279   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   280   data-length: 121088
   280   data-length: 121088
   281   data-unused: 0
   281   data-unused: 0
   282   data-unused: 0.000%
   282   data-unused: 0.000%
   283   $ f --sha256 .hg/store/00changelog-*.nd --size
   283   $ f --sha256 .hg/store/00changelog-*.nd --size
   284   .hg/store/00changelog-????????????????.nd: size=121088, sha256=59fcede3e3cc587755916ceed29e3c33748cd1aa7d2f91828ac83e7979d935e8 (glob)
   284   .hg/store/00changelog-????????.nd: size=121088, sha256=59fcede3e3cc587755916ceed29e3c33748cd1aa7d2f91828ac83e7979d935e8 (glob)
   285 #endif
   285 #endif
   286 
   286 
   287 Test force warming the cache
   287 Test force warming the cache
   288 
   288 
   289   $ rm .hg/store/00changelog.n
   289   $ rm .hg/store/00changelog.n
   290   $ hg debugnodemap --metadata
   290   $ hg debugnodemap --metadata
   291   $ hg debugupdatecache
   291   $ hg debugupdatecache
   292 #if pure
   292 #if pure
   293   $ hg debugnodemap --metadata
   293   $ hg debugnodemap --metadata
   294   uid: ???????????????? (glob)
   294   uid: ???????? (glob)
   295   tip-rev: 5002
   295   tip-rev: 5002
   296   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   296   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   297   data-length: 121088
   297   data-length: 121088
   298   data-unused: 0
   298   data-unused: 0
   299   data-unused: 0.000%
   299   data-unused: 0.000%
   300 #else
   300 #else
   301   $ hg debugnodemap --metadata
   301   $ hg debugnodemap --metadata
   302   uid: ???????????????? (glob)
   302   uid: ???????? (glob)
   303   tip-rev: 5002
   303   tip-rev: 5002
   304   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   304   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   305   data-length: 121088
   305   data-length: 121088
   306   data-unused: 0
   306   data-unused: 0
   307   data-unused: 0.000%
   307   data-unused: 0.000%
   311 =========================
   311 =========================
   312 
   312 
   313 First copy old data on the side.
   313 First copy old data on the side.
   314 
   314 
   315   $ mkdir ../tmp-copies
   315   $ mkdir ../tmp-copies
   316   $ cp .hg/store/00changelog-????????????????.nd .hg/store/00changelog.n ../tmp-copies
   316   $ cp .hg/store/00changelog-????????.nd .hg/store/00changelog.n ../tmp-copies
   317 
   317 
   318 Nodemap lagging behind
   318 Nodemap lagging behind
   319 ----------------------
   319 ----------------------
   320 
   320 
   321 make a new commit
   321 make a new commit
   327   5003
   327   5003
   328 
   328 
   329 If the nodemap is lagging behind, it can catch up fine
   329 If the nodemap is lagging behind, it can catch up fine
   330 
   330 
   331   $ hg debugnodemap --metadata
   331   $ hg debugnodemap --metadata
   332   uid: ???????????????? (glob)
   332   uid: ???????? (glob)
   333   tip-rev: 5003
   333   tip-rev: 5003
   334   tip-node: c9329770f979ade2d16912267c38ba5f82fd37b3
   334   tip-node: c9329770f979ade2d16912267c38ba5f82fd37b3
   335   data-length: 121344 (pure !)
   335   data-length: 121344 (pure !)
   336   data-length: 121344 (rust !)
   336   data-length: 121344 (rust !)
   337   data-length: 121152 (no-rust no-pure !)
   337   data-length: 121152 (no-rust no-pure !)
   341   data-unused: 0.158% (pure !)
   341   data-unused: 0.158% (pure !)
   342   data-unused: 0.158% (rust !)
   342   data-unused: 0.158% (rust !)
   343   data-unused: 0.000% (no-rust no-pure !)
   343   data-unused: 0.000% (no-rust no-pure !)
   344   $ cp -f ../tmp-copies/* .hg/store/
   344   $ cp -f ../tmp-copies/* .hg/store/
   345   $ hg debugnodemap --metadata
   345   $ hg debugnodemap --metadata
   346   uid: ???????????????? (glob)
   346   uid: ???????? (glob)
   347   tip-rev: 5002
   347   tip-rev: 5002
   348   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   348   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   349   data-length: 121088
   349   data-length: 121088
   350   data-unused: 0
   350   data-unused: 0
   351   data-unused: 0.000%
   351   data-unused: 0.000%
   372   $ hg --config extensions.strip= strip --rev "$NODE~1" --no-backup
   372   $ hg --config extensions.strip= strip --rev "$NODE~1" --no-backup
   373 
   373 
   374 the nodemap should detect the changelog have been tampered with and recover.
   374 the nodemap should detect the changelog have been tampered with and recover.
   375 
   375 
   376   $ hg debugnodemap --metadata
   376   $ hg debugnodemap --metadata
   377   uid: ???????????????? (glob)
   377   uid: ???????? (glob)
   378   tip-rev: 5002
   378   tip-rev: 5002
   379   tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944
   379   tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944
   380   data-length: 121536 (pure !)
   380   data-length: 121536 (pure !)
   381   data-length: 121088 (rust !)
   381   data-length: 121088 (rust !)
   382   data-length: 121088 (no-pure no-rust !)
   382   data-length: 121088 (no-pure no-rust !)
   387   data-unused: 0.369% (pure !)
   387   data-unused: 0.369% (pure !)
   388   data-unused: 0.000% (no-pure no-rust !)
   388   data-unused: 0.000% (no-pure no-rust !)
   389 
   389 
   390   $ cp -f ../tmp-copies/* .hg/store/
   390   $ cp -f ../tmp-copies/* .hg/store/
   391   $ hg debugnodemap --metadata
   391   $ hg debugnodemap --metadata
   392   uid: ???????????????? (glob)
   392   uid: ???????? (glob)
   393   tip-rev: 5002
   393   tip-rev: 5002
   394   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   394   tip-node: 880b18d239dfa9f632413a2071bfdbcc4806a4fd
   395   data-length: 121088
   395   data-length: 121088
   396   data-unused: 0
   396   data-unused: 0
   397   data-unused: 0.000%
   397   data-unused: 0.000%
   437 
   437 
   438   $ echo dsljfl > a
   438   $ echo dsljfl > a
   439   $ hg add a
   439   $ hg add a
   440   $ hg ci -m a
   440   $ hg ci -m a
   441   $ hg debugnodemap --metadata
   441   $ hg debugnodemap --metadata
   442   uid: ???????????????? (glob)
   442   uid: ???????? (glob)
   443   tip-rev: 5003
   443   tip-rev: 5003
   444   tip-node: a52c5079765b5865d97b993b303a18740113bbb2
   444   tip-node: a52c5079765b5865d97b993b303a18740113bbb2
   445   data-length: 121088
   445   data-length: 121088
   446   data-unused: 0
   446   data-unused: 0
   447   data-unused: 0.000%
   447   data-unused: 0.000%
   448   $ echo babar2 > babar
   448   $ echo babar2 > babar
   449   $ hg ci -m 'babar2' --config "hooks.pretxnclose.nodemap-test=hg debugnodemap --metadata"
   449   $ hg ci -m 'babar2' --config "hooks.pretxnclose.nodemap-test=hg debugnodemap --metadata"
   450   uid: ???????????????? (glob)
   450   uid: ???????? (glob)
   451   tip-rev: 5004
   451   tip-rev: 5004
   452   tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984
   452   tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984
   453   data-length: 121280 (pure !)
   453   data-length: 121280 (pure !)
   454   data-length: 121280 (rust !)
   454   data-length: 121280 (rust !)
   455   data-length: 121088 (no-pure no-rust !)
   455   data-length: 121088 (no-pure no-rust !)
   458   data-unused: 0 (no-pure no-rust !)
   458   data-unused: 0 (no-pure no-rust !)
   459   data-unused: 0.158% (pure !)
   459   data-unused: 0.158% (pure !)
   460   data-unused: 0.158% (rust !)
   460   data-unused: 0.158% (rust !)
   461   data-unused: 0.000% (no-pure no-rust !)
   461   data-unused: 0.000% (no-pure no-rust !)
   462   $ hg debugnodemap --metadata
   462   $ hg debugnodemap --metadata
   463   uid: ???????????????? (glob)
   463   uid: ???????? (glob)
   464   tip-rev: 5004
   464   tip-rev: 5004
   465   tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984
   465   tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984
   466   data-length: 121280 (pure !)
   466   data-length: 121280 (pure !)
   467   data-length: 121280 (rust !)
   467   data-length: 121280 (rust !)
   468   data-length: 121088 (no-pure no-rust !)
   468   data-length: 121088 (no-pure no-rust !)
   483 (read the repository while the commit transaction is pending)
   483 (read the repository while the commit transaction is pending)
   484 
   484 
   485   $ sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-pending && \
   485   $ sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-pending && \
   486   > hg debugnodemap --metadata && \
   486   > hg debugnodemap --metadata && \
   487   > sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-close sync-repo-read
   487   > sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-close sync-repo-read
   488   uid: ???????????????? (glob)
   488   uid: ???????? (glob)
   489   tip-rev: 5004
   489   tip-rev: 5004
   490   tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984
   490   tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984
   491   data-length: 121280 (pure !)
   491   data-length: 121280 (pure !)
   492   data-length: 121280 (rust !)
   492   data-length: 121280 (rust !)
   493   data-length: 121088 (no-pure no-rust !)
   493   data-length: 121088 (no-pure no-rust !)
   496   data-unused: 0 (no-pure no-rust !)
   496   data-unused: 0 (no-pure no-rust !)
   497   data-unused: 0.158% (pure !)
   497   data-unused: 0.158% (pure !)
   498   data-unused: 0.158% (rust !)
   498   data-unused: 0.158% (rust !)
   499   data-unused: 0.000% (no-pure no-rust !)
   499   data-unused: 0.000% (no-pure no-rust !)
   500   $ hg debugnodemap --metadata
   500   $ hg debugnodemap --metadata
   501   uid: ???????????????? (glob)
   501   uid: ???????? (glob)
   502   tip-rev: 5005
   502   tip-rev: 5005
   503   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   503   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   504   data-length: 121536 (pure !)
   504   data-length: 121536 (pure !)
   505   data-length: 121536 (rust !)
   505   data-length: 121536 (rust !)
   506   data-length: 121088 (no-pure no-rust !)
   506   data-length: 121088 (no-pure no-rust !)
   515 
   515 
   516 Check that a failing transaction will properly revert the data
   516 Check that a failing transaction will properly revert the data
   517 
   517 
   518   $ echo plakfe > a
   518   $ echo plakfe > a
   519   $ f --size --sha256 .hg/store/00changelog-*.nd
   519   $ f --size --sha256 .hg/store/00changelog-*.nd
   520   .hg/store/00changelog-????????????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !)
   520   .hg/store/00changelog-????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !)
   521   .hg/store/00changelog-????????????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !)
   521   .hg/store/00changelog-????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !)
   522   .hg/store/00changelog-????????????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !)
   522   .hg/store/00changelog-????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !)
   523   $ hg ci -m a3 --config "extensions.abort=$RUNTESTDIR/testlib/crash_transaction_late.py"
   523   $ hg ci -m a3 --config "extensions.abort=$RUNTESTDIR/testlib/crash_transaction_late.py"
   524   transaction abort!
   524   transaction abort!
   525   rollback completed
   525   rollback completed
   526   abort: This is a late abort
   526   abort: This is a late abort
   527   [255]
   527   [255]
   528   $ hg debugnodemap --metadata
   528   $ hg debugnodemap --metadata
   529   uid: ???????????????? (glob)
   529   uid: ???????? (glob)
   530   tip-rev: 5005
   530   tip-rev: 5005
   531   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   531   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   532   data-length: 121536 (pure !)
   532   data-length: 121536 (pure !)
   533   data-length: 121536 (rust !)
   533   data-length: 121536 (rust !)
   534   data-length: 121088 (no-pure no-rust !)
   534   data-length: 121088 (no-pure no-rust !)
   537   data-unused: 0 (no-pure no-rust !)
   537   data-unused: 0 (no-pure no-rust !)
   538   data-unused: 0.369% (pure !)
   538   data-unused: 0.369% (pure !)
   539   data-unused: 0.369% (rust !)
   539   data-unused: 0.369% (rust !)
   540   data-unused: 0.000% (no-pure no-rust !)
   540   data-unused: 0.000% (no-pure no-rust !)
   541   $ f --size --sha256 .hg/store/00changelog-*.nd
   541   $ f --size --sha256 .hg/store/00changelog-*.nd
   542   .hg/store/00changelog-????????????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !)
   542   .hg/store/00changelog-????????.nd: size=121536, sha256=bb414468d225cf52d69132e1237afba34d4346ee2eb81b505027e6197b107f03 (glob) (pure !)
   543   .hg/store/00changelog-????????????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !)
   543   .hg/store/00changelog-????????.nd: size=121536, sha256=909ac727bc4d1c0fda5f7bff3c620c98bd4a2967c143405a1503439e33b377da (glob) (rust !)
   544   .hg/store/00changelog-????????????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !)
   544   .hg/store/00changelog-????????.nd: size=121088, sha256=342d36d30d86dde67d3cb6c002606c4a75bcad665595d941493845066d9c8ee0 (glob) (no-pure no-rust !)
   545 
   545 
   546 Check that removing content does not confuse the nodemap
   546 Check that removing content does not confuse the nodemap
   547 --------------------------------------------------------
   547 --------------------------------------------------------
   548 
   548 
   549 removing data with rollback
   549 removing data with rollback
   824 -----------
   824 -----------
   825 
   825 
   826 No race condition
   826 No race condition
   827 
   827 
   828   $ hg clone -U --stream --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/test-repo stream-clone --debug | egrep '00(changelog|manifest)'
   828   $ hg clone -U --stream --config ui.ssh="\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/test-repo stream-clone --debug | egrep '00(changelog|manifest)'
   829   adding [s] 00manifest.n (70 bytes)
   829   adding [s] 00manifest.n (62 bytes)
   830   adding [s] 00manifest-*.nd (118 KB) (glob)
   830   adding [s] 00manifest-*.nd (118 KB) (glob)
   831   adding [s] 00changelog.n (70 bytes)
   831   adding [s] 00changelog.n (62 bytes)
   832   adding [s] 00changelog-*.nd (118 KB) (glob)
   832   adding [s] 00changelog-*.nd (118 KB) (glob)
   833   adding [s] 00manifest.d (452 KB) (no-zstd !)
   833   adding [s] 00manifest.d (452 KB) (no-zstd !)
   834   adding [s] 00manifest.d (491 KB) (zstd !)
   834   adding [s] 00manifest.d (491 KB) (zstd !)
   835   adding [s] 00changelog.d (360 KB) (no-zstd !)
   835   adding [s] 00changelog.d (360 KB) (no-zstd !)
   836   adding [s] 00changelog.d (368 KB) (zstd !)
   836   adding [s] 00changelog.d (368 KB) (zstd !)
   872   $ f --size test-repo/.hg/store/00changelog*
   872   $ f --size test-repo/.hg/store/00changelog*
   873   test-repo/.hg/store/00changelog-*.nd: size=121088 (glob)
   873   test-repo/.hg/store/00changelog-*.nd: size=121088 (glob)
   874   test-repo/.hg/store/00changelog.d: size=376891 (zstd !)
   874   test-repo/.hg/store/00changelog.d: size=376891 (zstd !)
   875   test-repo/.hg/store/00changelog.d: size=368890 (no-zstd !)
   875   test-repo/.hg/store/00changelog.d: size=368890 (no-zstd !)
   876   test-repo/.hg/store/00changelog.i: size=320384
   876   test-repo/.hg/store/00changelog.i: size=320384
   877   test-repo/.hg/store/00changelog.n: size=70
   877   test-repo/.hg/store/00changelog.n: size=62
   878   $ hg -R test-repo debugnodemap --metadata | tee server-metadata.txt
   878   $ hg -R test-repo debugnodemap --metadata | tee server-metadata.txt
   879   uid: * (glob)
   879   uid: * (glob)
   880   tip-rev: 5005
   880   tip-rev: 5005
   881   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   881   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   882   data-length: 121088
   882   data-length: 121088
   894   $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1
   894   $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1
   895   $ hg -R test-repo/ commit -m foo
   895   $ hg -R test-repo/ commit -m foo
   896   $ touch $HG_TEST_STREAM_WALKED_FILE_2
   896   $ touch $HG_TEST_STREAM_WALKED_FILE_2
   897   $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3
   897   $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3
   898   $ cat clone-output
   898   $ cat clone-output
   899   adding [s] 00manifest.n (70 bytes)
   899   adding [s] 00manifest.n (62 bytes)
   900   adding [s] 00manifest-*.nd (118 KB) (glob)
   900   adding [s] 00manifest-*.nd (118 KB) (glob)
   901   adding [s] 00changelog.n (70 bytes)
   901   adding [s] 00changelog.n (62 bytes)
   902   adding [s] 00changelog-*.nd (118 KB) (glob)
   902   adding [s] 00changelog-*.nd (118 KB) (glob)
   903   adding [s] 00manifest.d (452 KB) (no-zstd !)
   903   adding [s] 00manifest.d (452 KB) (no-zstd !)
   904   adding [s] 00manifest.d (491 KB) (zstd !)
   904   adding [s] 00manifest.d (491 KB) (zstd !)
   905   adding [s] 00changelog.d (360 KB) (no-zstd !)
   905   adding [s] 00changelog.d (360 KB) (no-zstd !)
   906   adding [s] 00changelog.d (368 KB) (zstd !)
   906   adding [s] 00changelog.d (368 KB) (zstd !)
   912   $ f --size stream-clone-race-1/.hg/store/00changelog*
   912   $ f --size stream-clone-race-1/.hg/store/00changelog*
   913   stream-clone-race-1/.hg/store/00changelog-*.nd: size=121088 (glob)
   913   stream-clone-race-1/.hg/store/00changelog-*.nd: size=121088 (glob)
   914   stream-clone-race-1/.hg/store/00changelog.d: size=368890 (no-zstd !)
   914   stream-clone-race-1/.hg/store/00changelog.d: size=368890 (no-zstd !)
   915   stream-clone-race-1/.hg/store/00changelog.d: size=376891 (zstd !)
   915   stream-clone-race-1/.hg/store/00changelog.d: size=376891 (zstd !)
   916   stream-clone-race-1/.hg/store/00changelog.i: size=320384
   916   stream-clone-race-1/.hg/store/00changelog.i: size=320384
   917   stream-clone-race-1/.hg/store/00changelog.n: size=70
   917   stream-clone-race-1/.hg/store/00changelog.n: size=62
   918 
   918 
   919   $ hg -R stream-clone-race-1 debugnodemap --metadata | tee client-metadata.txt
   919   $ hg -R stream-clone-race-1 debugnodemap --metadata | tee client-metadata.txt
   920   uid: * (glob)
   920   uid: * (glob)
   921   tip-rev: 5005
   921   tip-rev: 5005
   922   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   922   tip-node: 90d5d3ba2fc47db50f712570487cb261a68c8ffe
   967   test-repo/.hg/store/00changelog-*.nd: size=121344 (glob) (pure !)
   967   test-repo/.hg/store/00changelog-*.nd: size=121344 (glob) (pure !)
   968   test-repo/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !)
   968   test-repo/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !)
   969   test-repo/.hg/store/00changelog.d: size=376950 (zstd !)
   969   test-repo/.hg/store/00changelog.d: size=376950 (zstd !)
   970   test-repo/.hg/store/00changelog.d: size=368949 (no-zstd !)
   970   test-repo/.hg/store/00changelog.d: size=368949 (no-zstd !)
   971   test-repo/.hg/store/00changelog.i: size=320448
   971   test-repo/.hg/store/00changelog.i: size=320448
   972   test-repo/.hg/store/00changelog.n: size=70
   972   test-repo/.hg/store/00changelog.n: size=62
   973   $ hg -R test-repo debugnodemap --metadata | tee server-metadata-2.txt
   973   $ hg -R test-repo debugnodemap --metadata | tee server-metadata-2.txt
   974   uid: * (glob)
   974   uid: * (glob)
   975   tip-rev: 5006
   975   tip-rev: 5006
   976   tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b
   976   tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b
   977   data-length: 121344 (rust !)
   977   data-length: 121344 (rust !)
   993   $ rm test-repo/.hg/store/00changelog-*.nd
   993   $ rm test-repo/.hg/store/00changelog-*.nd
   994   $ hg -R test-repo/ debugupdatecache
   994   $ hg -R test-repo/ debugupdatecache
   995   $ touch $HG_TEST_STREAM_WALKED_FILE_2
   995   $ touch $HG_TEST_STREAM_WALKED_FILE_2
   996   $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3
   996   $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3
   997   $ cat clone-output-2
   997   $ cat clone-output-2
   998   adding [s] 00manifest.n (70 bytes)
   998   adding [s] 00manifest.n (62 bytes)
   999   adding [s] 00manifest-*.nd (118 KB) (glob)
   999   adding [s] 00manifest-*.nd (118 KB) (glob)
  1000   adding [s] 00changelog.n (70 bytes)
  1000   adding [s] 00changelog.n (62 bytes)
  1001   adding [s] 00changelog-*.nd (118 KB) (glob)
  1001   adding [s] 00changelog-*.nd (118 KB) (glob)
  1002   adding [s] 00manifest.d (492 KB) (zstd !)
  1002   adding [s] 00manifest.d (492 KB) (zstd !)
  1003   adding [s] 00manifest.d (452 KB) (no-zstd !)
  1003   adding [s] 00manifest.d (452 KB) (no-zstd !)
  1004   adding [s] 00changelog.d (360 KB) (no-zstd !)
  1004   adding [s] 00changelog.d (360 KB) (no-zstd !)
  1005   adding [s] 00changelog.d (368 KB) (zstd !)
  1005   adding [s] 00changelog.d (368 KB) (zstd !)
  1013   stream-clone-race-2/.hg/store/00changelog-*.nd: size=121344 (glob) (pure !)
  1013   stream-clone-race-2/.hg/store/00changelog-*.nd: size=121344 (glob) (pure !)
  1014   stream-clone-race-2/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !)
  1014   stream-clone-race-2/.hg/store/00changelog-*.nd: size=121152 (glob) (no-rust no-pure !)
  1015   stream-clone-race-2/.hg/store/00changelog.d: size=376950 (zstd !)
  1015   stream-clone-race-2/.hg/store/00changelog.d: size=376950 (zstd !)
  1016   stream-clone-race-2/.hg/store/00changelog.d: size=368949 (no-zstd !)
  1016   stream-clone-race-2/.hg/store/00changelog.d: size=368949 (no-zstd !)
  1017   stream-clone-race-2/.hg/store/00changelog.i: size=320448
  1017   stream-clone-race-2/.hg/store/00changelog.i: size=320448
  1018   stream-clone-race-2/.hg/store/00changelog.n: size=70
  1018   stream-clone-race-2/.hg/store/00changelog.n: size=62
  1019 
  1019 
  1020   $ hg -R stream-clone-race-2 debugnodemap --metadata | tee client-metadata-2.txt
  1020   $ hg -R stream-clone-race-2 debugnodemap --metadata | tee client-metadata-2.txt
  1021   uid: * (glob)
  1021   uid: * (glob)
  1022   tip-rev: 5006
  1022   tip-rev: 5006
  1023   tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b
  1023   tip-node: ed2ec1eef9aa2a0ec5057c51483bc148d03e810b