Mercurial > hg
view tests/test-revlog.t @ 37270:6ff8bd691fb8
narrow: add trailing slash to dir earlier for debug{revlog,index,data}
The treemanifest code internally uses trailing slashes on directories
(except for the root directory, which is an empty string). We should
make sure we pass in directories with trailing slashes when we work
with the treemanifest code. For some reason, I seem to have decided to
be nice to the callers instead in 49c583ca48c4 (treemanifest: add
--dir option to debug{revlog,data,index}, 2015-04-12). Let's fix that
and pay the cost of fixing up the directory name close close to where
we get it from the user.
Differential Revision: https://phab.mercurial-scm.org/D3032
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 02 Apr 2018 23:52:43 -0700 |
parents | 71d1bbf1617e |
children | 009d0283de5f |
line wrap: on
line source
$ hg init empty-repo $ cd empty-repo Flags on revlog version 0 are rejected >>> with open('.hg/store/00changelog.i', 'wb') as fh: ... fh.write(b'\x00\x01\x00\x00') $ hg log abort: unknown flags (0x01) in version 0 revlog 00changelog.i! [255] Unknown flags on revlog version 1 are rejected >>> with open('.hg/store/00changelog.i', 'wb') as fh: ... fh.write(b'\x00\x04\x00\x01') $ hg log abort: unknown flags (0x04) in version 1 revlog 00changelog.i! [255] Unknown version is rejected >>> with open('.hg/store/00changelog.i', 'wb') as fh: ... fh.write(b'\x00\x00\x00\x02') $ hg log abort: unknown version (2) in revlog 00changelog.i! [255] $ cd .. Test for CVE-2016-3630 $ hg init >>> open("a.i", "wb").write( ... b"""eJxjYGZgZIAAYQYGxhgom+k/FMx8YKx9ZUaKSOyqo4cnuKb8mbqHV5cBCVTMWb1Cwqkhe4Gsg9AD ... Joa3dYtcYYYBAQ8Qr4OqZAYRICPTSr5WKd/42rV36d+8/VmrNpv7NP1jQAXrQE4BqQUARngwVA==""" ... .decode("base64").decode("zlib")) $ hg debugindex a.i rev offset length delta linkrev nodeid p1 p2 0 0 19 -1 2 99e0332bd498 000000000000 000000000000 1 19 12 0 3 6674f57a23d8 99e0332bd498 000000000000 $ hg debugdata a.i 1 2>&1 | egrep 'Error:.*decoded' (mercurial\.\w+\.mpatch\.)?mpatchError: patch cannot be decoded (re)