annotate tests/test-generaldelta.t @ 26458:362793295640

streamclone: refactor maybeperformstreamclone to take a pullop Just like all the other pull steps. Consistency is good. This seems a little excessive right now since maybeperformstreamclone is such a short function. This will be addressed in a subsequent patch.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 04 Oct 2015 11:20:52 -0700
parents eb21b6679dc6
children 0f75461a9698
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
1 Check whether size of generaldelta revlog is not bigger than its
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
2 regular equivalent. Test would fail if generaldelta was naive
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
3 implementation of parentdelta: third manifest revision would be fully
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
4 inserted due to big distance from its paren revision (zero).
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
5
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
6 $ hg init repo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
7 $ cd repo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
8 $ echo foo > foo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
9 $ echo bar > bar
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
10 $ hg commit -q -Am boo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
11 $ hg clone --pull . ../gdrepo -q --config format.generaldelta=yes
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
12 $ for r in 1 2 3; do
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
13 > echo $r > foo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
14 > hg commit -q -m $r
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
15 > hg up -q -r 0
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
16 > hg pull . -q -r $r -R ../gdrepo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
17 > done
19942
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
18
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
19 $ cd ..
19942
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
20 >>> import os
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
21 >>> regsize = os.stat("repo/.hg/store/00manifest.i").st_size
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
22 >>> gdsize = os.stat("gdrepo/.hg/store/00manifest.i").st_size
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
23 >>> if regsize < gdsize:
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
24 ... print 'generaldata increased size of manifest'
23381
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
25
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
26 Verify rev reordering doesnt create invalid bundles (issue4462)
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
27 This requires a commit tree that when pulled will reorder manifest revs such
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
28 that the second manifest to create a file rev will be ordered before the first
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
29 manifest to create that file rev. We also need to do a partial pull to ensure
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
30 reordering happens. At the end we verify the linkrev points at the earliest
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
31 commit.
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
32
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
33 $ hg init server --config format.generaldelta=True
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
34 $ cd server
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
35 $ touch a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
36 $ hg commit -Aqm a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
37 $ echo x > x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
38 $ echo y > y
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
39 $ hg commit -Aqm xy
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
40 $ hg up -q '.^'
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
41 $ echo x > x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
42 $ echo z > z
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
43 $ hg commit -Aqm xz
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
44 $ hg up -q 1
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
45 $ echo b > b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
46 $ hg commit -Aqm b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
47 $ hg merge -q 2
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
48 $ hg commit -Aqm merge
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
49 $ echo c > c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
50 $ hg commit -Aqm c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
51 $ hg log -G -T '{rev} {shortest(node)} {desc}'
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
52 @ 5 ebb8 c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
53 |
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
54 o 4 baf7 merge
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
55 |\
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
56 | o 3 a129 b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
57 | |
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
58 o | 2 958c xz
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
59 | |
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
60 | o 1 f00c xy
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
61 |/
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
62 o 0 3903 a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
63
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
64 $ cd ..
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
65 $ hg init client
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
66 $ cd client
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
67 $ hg pull -q ../server -r 4
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
68 $ hg debugindex x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
69 rev offset length base linkrev nodeid p1 p2
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
70 0 0 3 0 1 1406e7411862 000000000000 000000000000
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
71
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
72 $ cd ..
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
73
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
74 Test format.aggressivemergedeltas
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
75
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
76 $ hg init --config format.generaldelta=1 aggressive
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
77 $ cd aggressive
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
78 $ touch a b c d e
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
79 $ hg commit -Aqm side1
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
80 $ hg up -q null
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
81 $ touch x y
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
82 $ hg commit -Aqm side2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
83
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
84 - Verify non-aggressive merge uses p1 (commit 1) as delta parent
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
85 $ hg merge -q 0
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
86 $ hg commit -q -m merge
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
87 $ hg debugindex -m
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
88 rev offset length delta linkrev nodeid p1 p2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
89 0 0 59 -1 0 8dde941edb6e 000000000000 000000000000
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
90 1 59 59 -1 1 315c023f341d 000000000000 000000000000
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
91 2 118 65 1 2 2ab389a983eb 315c023f341d 8dde941edb6e
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
92
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
93 $ hg strip -q -r . --config extensions.strip=
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
94
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
95 - Verify aggressive merge uses p2 (commit 0) as delta parent
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
96 $ hg up -q -C 1
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
97 $ hg merge -q 0
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
98 $ hg commit -q -m merge --config format.aggressivemergedeltas=True
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
99 $ hg debugindex -m
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
100 rev offset length delta linkrev nodeid p1 p2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
101 0 0 59 -1 0 8dde941edb6e 000000000000 000000000000
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
102 1 59 59 -1 1 315c023f341d 000000000000 000000000000
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
103 2 118 62 0 2 2ab389a983eb 315c023f341d 8dde941edb6e
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
104
26423
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
105 Test that strip bundle use bundle2
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
106 $ hg --config extensions.strip= strip .
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
107 0 files updated, 0 files merged, 5 files removed, 0 files unresolved
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
108 saved backup bundle to $TESTTMP/aggressive/.hg/strip-backup/1c5d4dc9a8b8-6c68e60c-backup.hg (glob)
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
109 $ hg debugbundle .hg/strip-backup/*
26425
eb21b6679dc6 strip: compress bundle2 backup using BZ
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26423
diff changeset
110 Stream params: {'Compression': 'BZ'}
26423
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
111 changegroup -- "{'version': '02'}"
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
112 1c5d4dc9a8b8d6e1750966d343e94db665e7a1e9
c93f91c1db1c strip: use bundle2 + cg2 by default when repository use general delta
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26118
diff changeset
113
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
114 $ cd ..