Mercurial > hg
annotate tests/test-generaldelta.t @ 26400:6f9d9e2a661f
manifest: add id(self) to treemanifest __repr__
Also rename __str__ to __repr__ since that's what we really want for
pdb.
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 25 Sep 2015 17:17:36 -0400 |
parents | 049005de325e |
children | c93f91c1db1c |
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 |
049005de325e
revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents:
23381
diff
changeset
|
105 $ cd .. |