test-revlog-v2.t
65 lines
| 1.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-revlog-v2.t
Gregory Szorc
|
r37363 | #require reporevlogstore | ||
Gregory Szorc
|
r32697 | A repo with unknown revlogv2 requirement string cannot be opened | ||
$ hg init invalidreq | ||||
$ cd invalidreq | ||||
$ echo exp-revlogv2.unknown >> .hg/requires | ||||
$ hg log | ||||
abort: repository requires features unknown to this Mercurial: exp-revlogv2.unknown! | ||||
(see https://mercurial-scm.org/wiki/MissingRequirement for more information) | ||||
[255] | ||||
$ cd .. | ||||
Can create and open repo with revlog v2 requirement | ||||
$ cat >> $HGRCPATH << EOF | ||||
> [experimental] | ||||
> revlogv2 = enable-unstable-format-and-corrupt-my-data | ||||
> EOF | ||||
$ hg init empty-repo | ||||
$ cd empty-repo | ||||
$ cat .hg/requires | ||||
dotencode | ||||
Gregory Szorc
|
r41238 | exp-revlogv2.1 | ||
Gregory Szorc
|
r32697 | fncache | ||
Boris Feld
|
r40942 | sparserevlog | ||
Gregory Szorc
|
r32697 | store | ||
$ hg log | ||||
Unknown flags to revlog are rejected | ||||
>>> with open('.hg/store/00changelog.i', 'wb') as fh: | ||||
Pulkit Goyal
|
r38382 | ... fh.write(b'\x00\x04\xde\xad') and None | ||
Gregory Szorc
|
r32697 | |||
$ hg log | ||||
abort: unknown flags (0x04) in version 57005 revlog 00changelog.i! | ||||
[255] | ||||
$ cd .. | ||||
Writing a simple revlog v2 works | ||||
$ hg init simple | ||||
$ cd simple | ||||
$ touch foo | ||||
$ hg -q commit -A -m initial | ||||
$ hg log | ||||
changeset: 0:96ee1d7354c4 | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: initial | ||||
Gregory Szorc
|
r41238 | Header written as expected | ||
Gregory Szorc
|
r32697 | |||
$ f --hexdump --bytes 4 .hg/store/00changelog.i | ||||
.hg/store/00changelog.i: | ||||
0000: 00 01 de ad |....| | ||||
$ f --hexdump --bytes 4 .hg/store/data/foo.i | ||||
.hg/store/data/foo.i: | ||||
Gregory Szorc
|
r41238 | 0000: 00 01 de ad |....| | ||