test-revlog.t
52 lines
| 1.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-revlog.t
Gregory Szorc
|
r32390 | $ hg init empty-repo | ||
$ cd empty-repo | ||||
Flags on revlog version 0 are rejected | ||||
>>> with open('.hg/store/00changelog.i', 'wb') as fh: | ||||
Pulkit Goyal
|
r38091 | ... fh.write(b'\x00\x01\x00\x00') and None | ||
Gregory Szorc
|
r32390 | |||
$ hg log | ||||
Gregory Szorc
|
r32391 | abort: unknown flags (0x01) in version 0 revlog 00changelog.i! | ||
Gregory Szorc
|
r32390 | [255] | ||
Unknown flags on revlog version 1 are rejected | ||||
>>> with open('.hg/store/00changelog.i', 'wb') as fh: | ||||
Pulkit Goyal
|
r38091 | ... fh.write(b'\x00\x04\x00\x01') and None | ||
Gregory Szorc
|
r32390 | |||
$ hg log | ||||
Gregory Szorc
|
r32391 | abort: unknown flags (0x04) in version 1 revlog 00changelog.i! | ||
Gregory Szorc
|
r32390 | [255] | ||
Unknown version is rejected | ||||
>>> with open('.hg/store/00changelog.i', 'wb') as fh: | ||||
Pulkit Goyal
|
r38091 | ... fh.write(b'\x00\x00\x00\x02') and None | ||
Gregory Szorc
|
r32390 | |||
$ hg log | ||||
Gregory Szorc
|
r32391 | abort: unknown version (2) in revlog 00changelog.i! | ||
Gregory Szorc
|
r32390 | [255] | ||
$ cd .. | ||||
Matt Mackall
|
r28656 | Test for CVE-2016-3630 | ||
$ hg init | ||||
Pulkit Goyal
|
r36502 | >>> open("a.i", "wb").write( | ||
... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD | ||||
Matt Mackall
|
r28656 | ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA==""" | ||
Matt Harbison
|
r39939 | ... .decode("base64").decode("zlib")) and None | ||
Matt Mackall
|
r28656 | |||
Gregory Szorc
|
r39318 | $ hg debugrevlogindex a.i | ||
Gregory Szorc
|
r37301 | rev linkrev nodeid p1 p2 | ||
0 2 99e0332bd498 000000000000 000000000000 | ||||
1 3 6674f57a23d8 99e0332bd498 000000000000 | ||||
Gregory Szorc
|
r39316 | |||
>>> from mercurial import revlog, vfs | ||||
>>> tvfs = vfs.vfs(b'.') | ||||
>>> tvfs.options = {b'revlogv1': True} | ||||
>>> rl = revlog.revlog(tvfs, b'a.i') | ||||
>>> rl.revision(1) | ||||
mpatchError('patch cannot be decoded',) | ||||