##// END OF EJS Templates
tests: fix builtin module test on pypy...
tests: fix builtin module test on pypy On pypy datetime and cProfile are modules written in Python, not in C. For the purpose of this test, just list them explicitely as builtins, which silences warnings about them being imported before stdlib modules.

File last commit:

r26917:2329ca3e default
r28713:806d260c default
Show More
test-manifestv2.t
101 lines | 2.3 KiB | text/troff | Tads3Lexer
/ tests / test-manifestv2.t
Drew Gottlieb
tests: test that we can convert to manifestv2 with clone...
r24935 Create repo with old manifest
Pierre-Yves David
test: use generaldelta in test-manifestv2.t...
r26917 $ cat << EOF >> $HGRCPATH
> [format]
> usegeneraldelta=yes
> EOF
Drew Gottlieb
tests: test that we can convert to manifestv2 with clone...
r24935 $ hg init existing
$ cd existing
$ echo footext > foo
$ hg add foo
$ hg commit -m initial
We're using v1, so no manifestv2 entry is in requires yet.
$ grep manifestv2 .hg/requires
[1]
Let's clone this with manifestv2 enabled to switch to the new format for
future commits.
$ cd ..
$ hg clone --pull existing new --config experimental.manifestv2=1
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd new
Check that entry was added to .hg/requires.
$ grep manifestv2 .hg/requires
manifestv2
Make a new commit.
$ echo newfootext > foo
$ hg commit -m new
Check that the manifest actually switched to v2.
$ hg debugdata -m 0
foo\x0021e958b1dca695a60ee2e9cf151753204ee0f9e9 (esc)
$ hg debugdata -m 1
\x00 (esc)
\x00foo\x00 (esc)
I\xab\x7f\xb8(\x83\xcas\x15\x9d\xc2\xd3\xd3:5\x08\xbad5_ (esc)
Check that manifestv2 is used if the requirement is present, even if it's
disabled in the config.
$ echo newerfootext > foo
$ hg --config experimental.manifestv2=False commit -m newer
$ hg debugdata -m 2
\x00 (esc)
\x00foo\x00 (esc)
\xa6\xb1\xfb\xef]\x91\xa1\x19`\xf3.#\x90S\xf8\x06 \xe2\x19\x00 (esc)
Check that we can still read v1 manifests.
$ hg files -r 0
foo
$ cd ..
Check that entry is added to .hg/requires on repo creation
Martin von Zweigbergk
manifestv2: set requires at repo creation time...
r24571
$ hg --config experimental.manifestv2=True init repo
$ cd repo
$ grep manifestv2 .hg/requires
manifestv2
Set up simple repo
$ echo a > file1
$ echo b > file2
$ echo c > file3
$ hg ci -Aqm 'initial'
$ echo d > file2
$ hg ci -m 'modify file2'
Check that 'hg verify', which uses manifest.readdelta(), works
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
3 files, 2 changesets, 4 total revisions
Martin von Zweigbergk
manifestv2: add support for writing new manifest format...
r24573 Check that manifest revlog is smaller than for v1
Martin von Zweigbergk
manifestv2: set requires at repo creation time...
r24571
$ hg debugindex -m
Pierre-Yves David
test: use generaldelta in test-manifestv2.t...
r26917 rev offset length delta linkrev nodeid p1 p2
0 0 81 -1 0 57361477c778 000000000000 000000000000
Martin von Zweigbergk
manifestv2: add support for writing new manifest format...
r24573 1 81 33 0 1 aeaab5a2ef74 57361477c778 000000000000