##// END OF EJS Templates
py3: use absolute_import in test-hg-parseurl.py
py3: use absolute_import in test-hg-parseurl.py

File last commit:

r27251:d9bfe628 default
r28745:8a23f881 default
Show More
test-generaldelta.t
160 lines | 5.8 KiB | text/troff | Tads3Lexer
/ tests / test-generaldelta.t
Wojciech Lopata
generaldelta: initialize basecache properly...
r19764 Check whether size of generaldelta revlog is not bigger than its
regular equivalent. Test would fail if generaldelta was naive
implementation of parentdelta: third manifest revision would be fully
inserted due to big distance from its paren revision (zero).
Pierre-Yves David
test: enforce non-generaldelta base repository in 'test-generaldelta'...
r26913 $ hg init repo --config format.generaldelta=no --config format.usegeneraldelta=no
Wojciech Lopata
generaldelta: initialize basecache properly...
r19764 $ cd repo
$ echo foo > foo
$ echo bar > bar
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 $ echo baz > baz
Wojciech Lopata
generaldelta: initialize basecache properly...
r19764 $ hg commit -q -Am boo
$ hg clone --pull . ../gdrepo -q --config format.generaldelta=yes
$ for r in 1 2 3; do
> echo $r > foo
> hg commit -q -m $r
> hg up -q -r 0
> hg pull . -q -r $r -R ../gdrepo
> done
Matt Mackall
tests: move generaldelta test to inline python (issue4064)
r19942
Wojciech Lopata
generaldelta: initialize basecache properly...
r19764 $ cd ..
Matt Mackall
tests: move generaldelta test to inline python (issue4064)
r19942 >>> import os
>>> regsize = os.stat("repo/.hg/store/00manifest.i").st_size
>>> gdsize = os.stat("gdrepo/.hg/store/00manifest.i").st_size
>>> if regsize < gdsize:
... print 'generaldata increased size of manifest'
Durham Goode
changegroup: fix file linkrevs during reorders (issue4462)...
r23381
Verify rev reordering doesnt create invalid bundles (issue4462)
This requires a commit tree that when pulled will reorder manifest revs such
that the second manifest to create a file rev will be ordered before the first
manifest to create that file rev. We also need to do a partial pull to ensure
reordering happens. At the end we verify the linkrev points at the earliest
commit.
$ hg init server --config format.generaldelta=True
$ cd server
$ touch a
$ hg commit -Aqm a
$ echo x > x
$ echo y > y
$ hg commit -Aqm xy
$ hg up -q '.^'
$ echo x > x
$ echo z > z
$ hg commit -Aqm xz
$ hg up -q 1
$ echo b > b
$ hg commit -Aqm b
$ hg merge -q 2
$ hg commit -Aqm merge
$ echo c > c
$ hg commit -Aqm c
$ hg log -G -T '{rev} {shortest(node)} {desc}'
@ 5 ebb8 c
|
o 4 baf7 merge
|\
| o 3 a129 b
| |
o | 2 958c xz
| |
| o 1 f00c xy
|/
o 0 3903 a
$ cd ..
Pierre-Yves David
test: enforce non-generaldelta base repository in 'test-generaldelta'...
r26913 $ hg init client --config format.generaldelta=false --config format.usegeneraldelta=false
Durham Goode
changegroup: fix file linkrevs during reorders (issue4462)...
r23381 $ cd client
$ hg pull -q ../server -r 4
$ hg debugindex x
rev offset length base linkrev nodeid p1 p2
0 0 3 0 1 1406e7411862 000000000000 000000000000
Durham Goode
revlog: add an aggressivemergedelta option...
r26118 $ cd ..
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 Test "usegeneraldelta" config
(repo are general delta, but incoming bundle are not re-deltified)
delta coming from the server base delta server are not recompressed.
(also include the aggressive version for comparison)
$ hg clone repo --pull --config format.usegeneraldelta=1 usegd
requesting all changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 added 4 changesets with 6 changes to 3 files (+2 heads)
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 updating to branch default
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 $ hg clone repo --pull --config format.generaldelta=1 full
requesting all changes
adding changesets
adding manifests
adding file changes
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 added 4 changesets with 6 changes to 3 files (+2 heads)
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 updating to branch default
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 $ hg -R repo debugindex -m
rev offset length base linkrev nodeid p1 p2
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 0 0 104 0 0 cef96823c800 000000000000 000000000000
1 104 57 0 1 58ab9a8d541d cef96823c800 000000000000
2 161 57 0 2 134fdc6fd680 cef96823c800 000000000000
3 218 104 3 3 723508934dad cef96823c800 000000000000
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 $ hg -R usegd debugindex -m
rev offset length delta linkrev nodeid p1 p2
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 0 0 104 -1 0 cef96823c800 000000000000 000000000000
1 104 57 0 1 58ab9a8d541d cef96823c800 000000000000
2 161 57 1 2 134fdc6fd680 cef96823c800 000000000000
Pierre-Yves David
addrevision: use general delta when the incoming base delta is bad...
r27191 3 218 57 0 3 723508934dad cef96823c800 000000000000
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 $ hg -R full debugindex -m
rev offset length delta linkrev nodeid p1 p2
Pierre-Yves David
test: use a bigger manifest in general delta test...
r27190 0 0 104 -1 0 cef96823c800 000000000000 000000000000
1 104 57 0 1 58ab9a8d541d cef96823c800 000000000000
2 161 57 0 2 134fdc6fd680 cef96823c800 000000000000
3 218 57 0 3 723508934dad cef96823c800 000000000000
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907
Durham Goode
revlog: add an aggressivemergedelta option...
r26118 Test format.aggressivemergedeltas
$ hg init --config format.generaldelta=1 aggressive
$ cd aggressive
Pierre-Yves David
format: introduce 'format.usegeneraldelta`...
r26907 $ cat << EOF >> .hg/hgrc
> [format]
> generaldelta = 1
> EOF
Durham Goode
revlog: add an aggressivemergedelta option...
r26118 $ touch a b c d e
$ hg commit -Aqm side1
$ hg up -q null
$ touch x y
$ hg commit -Aqm side2
- Verify non-aggressive merge uses p1 (commit 1) as delta parent
$ hg merge -q 0
$ hg commit -q -m merge
$ hg debugindex -m
rev offset length delta linkrev nodeid p1 p2
0 0 59 -1 0 8dde941edb6e 000000000000 000000000000
Martin von Zweigbergk
revlog: don't consider nullrev when choosing delta base...
r27251 1 59 61 0 1 315c023f341d 000000000000 000000000000
2 120 65 1 2 2ab389a983eb 315c023f341d 8dde941edb6e
Durham Goode
revlog: add an aggressivemergedelta option...
r26118
$ hg strip -q -r . --config extensions.strip=
- Verify aggressive merge uses p2 (commit 0) as delta parent
$ hg up -q -C 1
$ hg merge -q 0
$ hg commit -q -m merge --config format.aggressivemergedeltas=True
$ hg debugindex -m
rev offset length delta linkrev nodeid p1 p2
0 0 59 -1 0 8dde941edb6e 000000000000 000000000000
Martin von Zweigbergk
revlog: don't consider nullrev when choosing delta base...
r27251 1 59 61 0 1 315c023f341d 000000000000 000000000000
2 120 62 0 2 2ab389a983eb 315c023f341d 8dde941edb6e
Durham Goode
revlog: add an aggressivemergedelta option...
r26118
Pierre-Yves David
strip: use bundle2 + cg2 by default when repository use general delta...
r26423 Test that strip bundle use bundle2
$ hg --config extensions.strip= strip .
0 files updated, 0 files merged, 5 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/aggressive/.hg/strip-backup/1c5d4dc9a8b8-6c68e60c-backup.hg (glob)
$ hg debugbundle .hg/strip-backup/*
Pierre-Yves David
strip: compress bundle2 backup using BZ...
r26425 Stream params: {'Compression': 'BZ'}
Pierre-Yves David
strip: use bundle2 + cg2 by default when repository use general delta...
r26423 changegroup -- "{'version': '02'}"
1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9
Durham Goode
revlog: add an aggressivemergedelta option...
r26118 $ cd ..