|
1 ============================== |
|
2 Test cache warming strategy |
|
3 test for range based discovery |
|
4 ============================== |
|
5 |
|
6 $ . $TESTDIR/testlib/pythonpath.sh |
|
7 |
|
8 $ cat << EOF >> $HGRCPATH |
|
9 > [extensions] |
|
10 > hgext3rd.evolve = |
|
11 > blackbox = |
|
12 > [defaults] |
|
13 > blackbox = -l 100 |
|
14 > [experimental] |
|
15 > obshashrange=1 |
|
16 > verbose-obsolescence-exchange=1 |
|
17 > [ui] |
|
18 > logtemplate = "{rev} {node|short} {desc} {tags}\n" |
|
19 > ssh=python "$RUNTESTDIR/dummyssh" |
|
20 > [alias] |
|
21 > debugobsolete=debugobsolete -d '0 0' |
|
22 > [ui] |
|
23 > ssh=$PYTHON "$RUNTESTDIR/dummyssh" |
|
24 > EOF |
|
25 |
|
26 $ hg init main |
|
27 |
|
28 $ hg -R main debugbuilddag '.+7' |
|
29 |
|
30 $ for node in `hg -R main log -T '{node}\n'`; do |
|
31 > echo -n $node | grep -o . | sort |tr -d "\n" > ancfile |
|
32 > anc=`cat ancfile` |
|
33 > rm ancfile |
|
34 > echo "marking $anc as predecessors of $node" |
|
35 > hg -R main debugobsolete $anc $node |
|
36 > done |
|
37 marking 000011223334456677789aaaaabbbbcccddddeef as predecessors of 4de32a90b66cd083ebf3c00b41277aa7abca51dd |
|
38 marking 012234455555666699aaaaabbbccccccefffffff as predecessors of f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 |
|
39 marking 00001122233445555777778889999abbcccddeef as predecessors of c8d03c1b5e94af74b772900c58259d2e08917735 |
|
40 marking 0011222445667777889999aabbbbcddddeeeeeee as predecessors of bebd167eb94d257ace0e814aeb98e6972ed2970d |
|
41 marking 000011222223344555566778899aaaabccddefff as predecessors of 2dc09a01254db841290af0538aa52f6f52c776e3 |
|
42 marking 01111222223333444455555566999abbbbcceeef as predecessors of 01241442b3c2bf3211e593b549c655ea65b295e3 |
|
43 marking 01122444445555566677888aabbcccddddefffff as predecessors of 66f7d451a68b85ed82ff5fcc254daf50c74144bd |
|
44 marking 000111111234444467777889999aaaabcdeeeeff as predecessors of 1ea73414a91b0920940797d8fc6a11e447f8ea1e |
|
45 |
|
46 $ hg debugobsolete -R main |
|
47 000011223334456677789aaaaabbbbcccddddeef 4de32a90b66cd083ebf3c00b41277aa7abca51dd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
48 012234455555666699aaaaabbbccccccefffffff f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
49 00001122233445555777778889999abbcccddeef c8d03c1b5e94af74b772900c58259d2e08917735 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
50 0011222445667777889999aabbbbcddddeeeeeee bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
51 000011222223344555566778899aaaabccddefff 2dc09a01254db841290af0538aa52f6f52c776e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
52 01111222223333444455555566999abbbbcceeef 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
53 01122444445555566677888aabbcccddddefffff 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
54 000111111234444467777889999aaaabcdeeeeff 1ea73414a91b0920940797d8fc6a11e447f8ea1e 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
55 |
|
56 Cache mode is "auto" so local commit did not warm the cache yet |
|
57 |
|
58 $ f -s main/.hg/cache/evoext* |
|
59 main/.hg/cache/evoext-obscache-00: size=72 |
|
60 |
|
61 Initial push |
|
62 ------------ |
|
63 |
|
64 $ hg init server |
|
65 $ hg -R main push ssh://user@dummy/server |
|
66 pushing to ssh://user@dummy/server |
|
67 searching for changes |
|
68 OBSEXC: computing relevant nodes |
|
69 OBSEXC: looking for common markers in 8 nodes |
|
70 OBSEXC: computing markers relevant to 8 nodes |
|
71 remote: adding changesets |
|
72 remote: adding manifests |
|
73 remote: adding file changes |
|
74 remote: added 8 changesets with 0 changes to 0 files |
|
75 remote: 8 new obsolescence markers |
|
76 |
|
77 sever cash is warm |
|
78 |
|
79 $ f -s server/.hg/cache/evoext* |
|
80 server/.hg/cache/evoext-depthcache-00: size=88 |
|
81 server/.hg/cache/evoext-firstmerge-00: size=88 |
|
82 server/.hg/cache/evoext-obscache-00: size=72 |
|
83 server/.hg/cache/evoext-stablesortcache-00: size=92 |
|
84 server/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob) |
|
85 server/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob) |
|
86 |
|
87 client cash is warm |
|
88 |
|
89 $ f -s main/.hg/cache/evoext* |
|
90 main/.hg/cache/evoext-depthcache-00: size=88 |
|
91 main/.hg/cache/evoext-obscache-00: size=72 |
|
92 main/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob) |
|
93 main/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob) |
|
94 |
|
95 initial pull |
|
96 ------------ |
|
97 |
|
98 $ rm -rf main |
|
99 $ hg init main |
|
100 $ hg -R main pull ssh://user@dummy/server |
|
101 pulling from ssh://user@dummy/server |
|
102 requesting all changes |
|
103 adding changesets |
|
104 adding manifests |
|
105 adding file changes |
|
106 added 8 changesets with 0 changes to 0 files |
|
107 8 new obsolescence markers |
|
108 new changesets 1ea73414a91b:4de32a90b66c |
|
109 (run 'hg update' to get a working copy) |
|
110 |
|
111 client cache is empty because the discovery was empty |
|
112 |
|
113 $ f -s main/.hg/cache/evoext* |
|
114 main/.hg/cache/evoext-obscache-00: size=72 |
|
115 |
|
116 no op pull |
|
117 ------------ |
|
118 |
|
119 clear cache |
|
120 |
|
121 $ rm -rf main/.hg/cache/evoext |
|
122 |
|
123 pull nothing |
|
124 |
|
125 $ hg -R main pull ssh://user@dummy/server |
|
126 pulling from ssh://user@dummy/server |
|
127 searching for changes |
|
128 no changes found |
|
129 OBSEXC: looking for common markers in 8 nodes |
|
130 |
|
131 client cash is warm |
|
132 |
|
133 $ f -s main/.hg/cache/evoext* |
|
134 main/.hg/cache/evoext-depthcache-00: size=88 |
|
135 main/.hg/cache/evoext-obscache-00: size=72 |
|
136 main/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob) |
|
137 main/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob) |
|
138 |
|
139 no op push |
|
140 ------------ |
|
141 |
|
142 clear cache |
|
143 |
|
144 $ rm -rf main/.hg/cache/evoext |
|
145 |
|
146 push nothing |
|
147 |
|
148 $ hg -R main push ssh://user@dummy/server |
|
149 pushing to ssh://user@dummy/server |
|
150 searching for changes |
|
151 OBSEXC: computing relevant nodes |
|
152 OBSEXC: looking for common markers in 8 nodes |
|
153 OBSEXC: markers already in sync |
|
154 no changes found |
|
155 [1] |
|
156 |
|
157 client cash is warm |
|
158 |
|
159 $ f -s main/.hg/cache/evoext* |
|
160 main/.hg/cache/evoext-depthcache-00: size=88 |
|
161 main/.hg/cache/evoext-obscache-00: size=72 |
|
162 main/.hg/cache/evoext_obshashrange_v2.sqlite: size=?* (glob) |
|
163 main/.hg/cache/evoext_stablerange_v2.sqlite: size=?* (glob) |