##// END OF EJS Templates
debug-delta-chain: print less data by default...
debug-delta-chain: print less data by default This is faster and simpler to read.

File last commit:

r51969:786b6225 default
r51969:786b6225 default
Show More
test-revlog.t
89 lines | 2.7 KiB | text/troff | Tads3Lexer
Gregory Szorc
tests: tests for revlog version and flags loading...
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
py3: suppress the output from .write() calls in few tests...
r38091 ... fh.write(b'\x00\x01\x00\x00') and None
Gregory Szorc
tests: tests for revlog version and flags loading...
r32390
$ hg log
revlog: use revlog.display_id in format related errors...
r47928 abort: unknown flags (0x01) in version 0 revlog 00changelog
Martin von Zweigbergk
errors: use detailed exit code 50 for StorageError...
r46732 [50]
Gregory Szorc
tests: tests for revlog version and flags loading...
r32390
Unknown flags on revlog version 1 are rejected
>>> with open('.hg/store/00changelog.i', 'wb') as fh:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 ... fh.write(b'\x00\x04\x00\x01') and None
Gregory Szorc
tests: tests for revlog version and flags loading...
r32390
$ hg log
revlog: use revlog.display_id in format related errors...
r47928 abort: unknown flags (0x04) in version 1 revlog 00changelog
Martin von Zweigbergk
errors: use detailed exit code 50 for StorageError...
r46732 [50]
Gregory Szorc
tests: tests for revlog version and flags loading...
r32390
Unknown version is rejected
>>> with open('.hg/store/00changelog.i', 'wb') as fh:
Raphaël Gomès
revlog: introduce v2 format...
r47438 ... fh.write(b'\x00\x00\xbe\xef') and None
Gregory Szorc
tests: tests for revlog version and flags loading...
r32390
$ hg log
revlog: use revlog.display_id in format related errors...
r47928 abort: unknown version (48879) in revlog 00changelog
Martin von Zweigbergk
errors: use detailed exit code 50 for StorageError...
r46732 [50]
Gregory Szorc
tests: tests for revlog version and flags loading...
r32390
$ cd ..
Matt Mackall
parsers: fix list sizing rounding error (SEC)...
r28656 Test for CVE-2016-3630
Arseniy Alekseyev
test-revlog: test a repository that contains a diff against nullrev...
r50104 $ mkdir test2; cd test2
Matt Mackall
parsers: fix list sizing rounding error (SEC)...
r28656 $ hg init
Mark Thomas
py3: fix test-revlog.t...
r40317 >>> import codecs
>>> open("a.i", "wb").write(codecs.decode(codecs.decode(
Pulkit Goyal
py3: add b'' prefixes in tests/test-revlog.t...
r36502 ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD
Mark Thomas
py3: fix test-revlog.t...
r40317 ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA==""",
... "base64"), "zlib")) and None
Matt Mackall
parsers: fix list sizing rounding error (SEC)...
r28656
Gregory Szorc
debugcommands: introduce debugrevlogindex (BC)...
r39318 $ hg debugrevlogindex a.i
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 rev linkrev nodeid p1 p2
0 2 99e0332bd498 000000000000 000000000000
1 3 6674f57a23d8 99e0332bd498 000000000000
Gregory Szorc
tests: use inline Python for revlog test...
r39316
revlog: introduce an explicit tracking of what the revlog is about...
r47838 >>> from mercurial.revlogutils.constants import KIND_OTHER
Gregory Szorc
tests: use inline Python for revlog test...
r39316 >>> from mercurial import revlog, vfs
>>> tvfs = vfs.vfs(b'.')
>>> tvfs.options = {b'revlogv1': True}
revlog: use a "radix" to address revlog...
r47921 >>> rl = revlog.revlog(tvfs, target=(KIND_OTHER, b'test'), radix=b'a')
Gregory Szorc
tests: use inline Python for revlog test...
r39316 >>> rl.revision(1)
Mark Thomas
py3: fix test-revlog.t...
r40317 mpatchError(*'patch cannot be decoded'*) (glob)
Arseniy Alekseyev
test-revlog: test a repository that contains a diff against nullrev...
r50104
$ cd ..
Regression test for support for the old repos with strange diff encoding.
Apparently it used to be possible (maybe it's still possible, but we don't know how)
to create commits whose diffs are encoded relative to a nullrev.
This test checks that a repo with that encoding can still be read.
This is what we did to produce the repo in test-revlog-diff-relative-to-nullrev.tar:
- tweak the code in mercurial/revlogutils/deltas.py to produce such "trivial" deltas:
> if deltainfo is None:
> - deltainfo = self._fullsnapshotinfo(fh, revinfo, target_rev)
> + deltainfo = self._builddeltainfo(revinfo, nullrev, fh)
- hg init
- echo hi > a
- hg commit -Am_
- remove some cache files
Arseniy Alekseyev
tests: fix tar invocation, to address issue 6740
r50384 $ tar -xf - < "$TESTDIR"/bundles/test-revlog-diff-relative-to-nullrev.tar
Arseniy Alekseyev
test-revlog: test a repository that contains a diff against nullrev...
r50104 $ cd nullrev-diff
$ hg debugdeltachain a
debug-delta-chain: print less data by default...
r51969 rev p1 p2 chain# chainlen prev delta
0 -1 -1 1 2 -1 p1
1 0 -1 1 2 -1 p2
2 -1 -1 1 2 -1 p1
Arseniy Alekseyev
test-revlog: test a repository that contains a diff against nullrev...
r50104 $ hg cat --config rhg.cat=true -r 0 a
hi
test-revlog: adds a non-root revision with a delta against nullrev...
r50133 $ hg cat --config rhg.cat=true -r 1 a
ho
test-revlog: adds a new root revision with a delta against nullrev...
r50134 $ hg cat --config rhg.cat=true -r 2 a
ha
Arseniy Alekseyev
test-revlog: test a repository that contains a diff against nullrev...
r50104 $ cd ..