##// END OF EJS Templates
nodemap: delete older raw data file when creating a new ones...
nodemap: delete older raw data file when creating a new ones When we write new full files, it replace an older one with a different name. We add the associated cleanup for the older file to be removed after the transaction. We delete all file matching the expected pattern to give use extra chance to delete orphan files we might have failed to delete earlier. Note: eventually we won't rewrite all data for each transaction. This is coming in later changesets. Differential Revision: https://phab.mercurial-scm.org/D7839

File last commit:

r44793:563dfdfd default
r44793:563dfdfd default
Show More
test-persistent-nodemap.t
48 lines | 2.4 KiB | text/troff | Tads3Lexer
/ tests / test-persistent-nodemap.t
nodemap: have some python code writing a nodemap in persistent binary form...
r44788 ===================================
Test the persistent on-disk nodemap
===================================
$ hg init test-repo
$ cd test-repo
nodemap: write nodemap data on disk...
r44789 $ cat << EOF >> .hg/hgrc
> [experimental]
> exp-persistent-nodemap=yes
> EOF
nodemap: have some python code writing a nodemap in persistent binary form...
r44788 $ hg debugbuilddag .+5000
nodemap: use an intermediate "docket" file to carry small metadata...
r44792 $ f --size .hg/store/00changelog.n
.hg/store/00changelog.n: size=18
nodemap: delete older raw data file when creating a new ones...
r44793 $ f --sha256 .hg/store/00changelog-*.nd
.hg/store/00changelog-????????????????.nd: sha256=b961925120e1c9bc345c199b2cc442abc477029fdece37ef9d99cbe59c0558b7 (glob)
nodemap: add a function to read the data from disk...
r44790 $ hg debugnodemap --dump-new | f --sha256 --size
nodemap: write nodemap data on disk...
r44789 size=122880, sha256=b961925120e1c9bc345c199b2cc442abc477029fdece37ef9d99cbe59c0558b7
nodemap: add a function to read the data from disk...
r44790 $ hg debugnodemap --dump-disk | f --sha256 --bytes=256 --hexdump --size
nodemap: have some python code writing a nodemap in persistent binary form...
r44788 size=122880, sha256=b961925120e1c9bc345c199b2cc442abc477029fdece37ef9d99cbe59c0558b7
0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
0010: ff ff ff ff ff ff ff ff ff ff fa c2 ff ff ff ff |................|
0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
0030: ff ff ff ff ff ff ed b3 ff ff ff ff ff ff ff ff |................|
0040: ff ff ff ff ff ff ee 34 00 00 00 00 ff ff ff ff |.......4........|
0050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
0060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
0080: ff ff ff ff ff ff f8 50 ff ff ff ff ff ff ff ff |.......P........|
0090: ff ff ff ff ff ff ff ff ff ff ec c7 ff ff ff ff |................|
00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
00b0: ff ff ff ff ff ff fa be ff ff f2 fc ff ff ff ff |................|
00c0: ff ff ff ff ff ff ef ea ff ff ff ff ff ff f9 17 |................|
00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
nodemap: delete older raw data file when creating a new ones...
r44793
add a new commit
$ hg up
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo foo > foo
$ hg add foo
$ hg ci -m 'foo'
$ f --size .hg/store/00changelog.n
.hg/store/00changelog.n: size=18
$ f --sha256 .hg/store/00changelog-*.nd --size
.hg/store/00changelog-????????????????.nd: size=122880, sha256=bfafebd751c4f6d116a76a37a1dee2a251747affe7efbcc4f4842ccc746d4db9 (glob)