annotate tests/test-generaldelta.t @ 30706:2e4862646f02

repair: speed up stripping of many roots repair.strip() expects a set of root revisions to strip. It then builds the full set of descedants by walking the descandants of each. It is rare that more than a few roots get passed in, but if that happens, it will wastefully walk the changelog for each root. So let's just walk it once. I noticed this because the narrowhg extension was passing not only roots, but all the commits to strip. When there were tens of thousands of commits to strip, this resulted in quadratic behavior with that extension.
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 04 Jan 2017 10:07:12 -0800
parents 318a24b52eeb
children 8e3021fd1a44 e9d325cfe071
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
26913
f43689badeff test: enforce non-generaldelta base repository in 'test-generaldelta'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26907
diff changeset
6 $ hg init repo --config format.generaldelta=no --config format.usegeneraldelta=no
19764
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
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
10 $ echo baz > baz
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
11 $ hg commit -q -Am boo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
12 $ hg clone --pull . ../gdrepo -q --config format.generaldelta=yes
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
13 $ for r in 1 2 3; do
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
14 > echo $r > foo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
15 > hg commit -q -m $r
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
16 > hg up -q -r 0
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
17 > hg pull . -q -r $r -R ../gdrepo
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
18 > done
19942
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
19
19764
e92650e39f1c generaldelta: initialize basecache properly
Wojciech Lopata <lopek@fb.com>
parents:
diff changeset
20 $ cd ..
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 27251
diff changeset
21 >>> from __future__ import print_function
19942
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
22 >>> import os
2c886dedd902 tests: move generaldelta test to inline python (issue4064)
Matt Mackall <mpm@selenic.com>
parents: 19888
diff changeset
23 >>> 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
24 >>> 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
25 >>> if regsize < gdsize:
29485
6a98f9408a50 py3: make files use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 27251
diff changeset
26 ... print('generaldata increased size of manifest')
23381
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
27
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
28 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
29 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
30 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
31 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
32 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
33 commit.
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
34
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
35 $ hg init server --config format.generaldelta=True
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
36 $ cd server
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
37 $ touch a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
38 $ hg commit -Aqm a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
39 $ echo x > x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
40 $ echo y > y
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
41 $ hg commit -Aqm xy
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
42 $ hg up -q '.^'
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
43 $ echo x > x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
44 $ echo z > z
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
45 $ hg commit -Aqm xz
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
46 $ hg up -q 1
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
47 $ echo b > b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
48 $ hg commit -Aqm b
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
49 $ hg merge -q 2
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
50 $ hg commit -Aqm merge
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
51 $ echo c > c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
52 $ hg commit -Aqm c
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
53 $ 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
54 @ 5 ebb8 c
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 4 baf7 merge
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 3 a129 b
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 | 2 958c xz
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 1 f00c xy
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 o 0 3903 a
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
65
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
66 $ cd ..
26913
f43689badeff test: enforce non-generaldelta base repository in 'test-generaldelta'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26907
diff changeset
67 $ hg init client --config format.generaldelta=false --config format.usegeneraldelta=false
23381
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
68 $ cd client
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
69 $ hg pull -q ../server -r 4
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
70 $ hg debugindex x
cc0ff93d0c0c changegroup: fix file linkrevs during reorders (issue4462)
Durham Goode <durham@fb.com>
parents: 19942
diff changeset
71 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
72 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
73
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
74 $ cd ..
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
75
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
76 Test "usegeneraldelta" config
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 29593
diff changeset
77 (repo are general delta, but incoming bundle are not re-deltafied)
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
78
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
79 delta coming from the server base delta server are not recompressed.
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
80 (also include the aggressive version for comparison)
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
81
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
82 $ hg clone repo --pull --config format.usegeneraldelta=1 usegd
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
83 requesting all changes
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
84 adding changesets
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
85 adding manifests
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
86 adding file changes
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
87 added 4 changesets with 6 changes to 3 files (+2 heads)
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
88 updating to branch default
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
89 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
90 $ hg clone repo --pull --config format.generaldelta=1 full
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
91 requesting all changes
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
92 adding changesets
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
93 adding manifests
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
94 adding file changes
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
95 added 4 changesets with 6 changes to 3 files (+2 heads)
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
96 updating to branch default
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
97 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
98 $ hg -R repo debugindex -m
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
99 rev offset length base linkrev nodeid p1 p2
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
100 0 0 104 0 0 cef96823c800 000000000000 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
101 1 104 57 0 1 58ab9a8d541d cef96823c800 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
102 2 161 57 0 2 134fdc6fd680 cef96823c800 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
103 3 218 104 3 3 723508934dad cef96823c800 000000000000
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
104 $ hg -R usegd debugindex -m
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
105 rev offset length delta linkrev nodeid p1 p2
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
106 0 0 104 -1 0 cef96823c800 000000000000 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
107 1 104 57 0 1 58ab9a8d541d cef96823c800 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
108 2 161 57 1 2 134fdc6fd680 cef96823c800 000000000000
27191
20a9226bdc8a addrevision: use general delta when the incoming base delta is bad
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27190
diff changeset
109 3 218 57 0 3 723508934dad cef96823c800 000000000000
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
110 $ hg -R full debugindex -m
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
111 rev offset length delta linkrev nodeid p1 p2
27190
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
112 0 0 104 -1 0 cef96823c800 000000000000 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
113 1 104 57 0 1 58ab9a8d541d cef96823c800 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
114 2 161 57 0 2 134fdc6fd680 cef96823c800 000000000000
762fbd28e7df test: use a bigger manifest in general delta test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26913
diff changeset
115 3 218 57 0 3 723508934dad cef96823c800 000000000000
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
116
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
117 Test format.aggressivemergedeltas
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
119 $ hg init --config format.generaldelta=1 aggressive
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
120 $ cd aggressive
26907
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
121 $ cat << EOF >> .hg/hgrc
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
122 > [format]
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
123 > generaldelta = 1
dfab6edb98e3 format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26866
diff changeset
124 > EOF
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
125 $ touch a b c d e
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
126 $ hg commit -Aqm side1
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
127 $ hg up -q null
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
128 $ touch x y
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
129 $ hg commit -Aqm side2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
130
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
131 - 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
132 $ hg merge -q 0
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
133 $ hg commit -q -m merge
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
134 $ hg debugindex -m
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
135 rev offset length delta linkrev nodeid p1 p2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
136 0 0 59 -1 0 8dde941edb6e 000000000000 000000000000
27251
d9bfe6289acf revlog: don't consider nullrev when choosing delta base
Martin von Zweigbergk <martinvonz@google.com>
parents: 27191
diff changeset
137 1 59 61 0 1 315c023f341d 000000000000 000000000000
d9bfe6289acf revlog: don't consider nullrev when choosing delta base
Martin von Zweigbergk <martinvonz@google.com>
parents: 27191
diff changeset
138 2 120 65 1 2 2ab389a983eb 315c023f341d 8dde941edb6e
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
139
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
140 $ hg strip -q -r . --config extensions.strip=
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
141
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
142 - 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
143 $ hg up -q -C 1
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
144 $ hg merge -q 0
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
145 $ hg commit -q -m merge --config format.aggressivemergedeltas=True
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
146 $ hg debugindex -m
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
147 rev offset length delta linkrev nodeid p1 p2
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
148 0 0 59 -1 0 8dde941edb6e 000000000000 000000000000
27251
d9bfe6289acf revlog: don't consider nullrev when choosing delta base
Martin von Zweigbergk <martinvonz@google.com>
parents: 27191
diff changeset
149 1 59 61 0 1 315c023f341d 000000000000 000000000000
d9bfe6289acf revlog: don't consider nullrev when choosing delta base
Martin von Zweigbergk <martinvonz@google.com>
parents: 27191
diff changeset
150 2 120 62 0 2 2ab389a983eb 315c023f341d 8dde941edb6e
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
151
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
152 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
153 $ 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
154 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
155 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
156 $ hg debugbundle .hg/strip-backup/*
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29485
diff changeset
157 Stream params: sortdict([('Compression', 'BZ')])
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29592
diff changeset
158 changegroup -- "sortdict([('version', '02'), ('nbchanges', '1')])"
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
159 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
160
26118
049005de325e revlog: add an aggressivemergedelta option
Durham Goode <durham@fb.com>
parents: 23381
diff changeset
161 $ cd ..