Mercurial > hg
annotate tests/test-generaldelta.t @ 29917:f32f8bf5dc4c
streamclone: force @filecache properties to be reloaded from file
Before this patch, consumev1() invokes repo.invalidate() after closing
transaction, to force @filecache properties to be reloaded from files
at next access, because streamclone writes data into files directly.
But this doesn't work as expected in the case below:
1. at closing transaction, repo._refreshfilecachestats() refreshes
file stat of each @filecache properties with streamclone-ed files
This means that in-memory properties are treated as valid.
2. but streamclone doesn't changes in-memory properties
This means that in-memory properties are actually invalid.
3. repo.invalidate() just forces to examine file stat of @filecache
properties at the first access after it
Such examination should concludes that reloading from file isn't
needed, because file stat was already refreshed at (1).
Therefore, invalid in-memory cached properties (2) are
unintentionally treated as valid (1).
This patch invokes repo.invalidate() with clearfilecache=True, to
force @filecache properties to be reloaded from file at next access.
BTW, it is accidental that repo.invalidate() without
clearfilecache=True in streamclone case seems to work as expected
before this patch.
If transaction is started via "filtered repo" object,
repo._refreshfilecachestats() tries to refresh file stat of each
@filecache properties on "filtered repo" object, even though all of
them are stored into "unfiltered repo" object.
In this case, repo._refreshfilecachestats() does nothing
unintentionally, but this unexpected behavior causes reloading
@filecache properties after repo.invalidate().
This is reason why this patch should be applied before making
_refreshfilecachestats() correctly refresh file stat of @filecache
properties.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Mon, 12 Sep 2016 03:06:28 +0900 |
parents | 953839de96ab |
children | 318a24b52eeb |
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 |
dfab6edb98e3
format: introduce 'format.usegeneraldelta`
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26866
diff
changeset
|
77 (repo are general delta, but incoming bundle are not re-deltified) |
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 .. |