Mercurial > evolve
comparison tests/test-discovery-obshashrange.t @ 2084:b1f029dcf573
discovery: implement some range based discovery
This use the previously implemented methods to implement some discovery and
fetch method using ranges.
There is currently major performance issue and some aspect of the protocol will
changes.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Sun, 12 Mar 2017 08:15:14 -0700 |
parents | |
children | 3b18440cca74 |
comparison
equal
deleted
inserted
replaced
2083:778afb036245 | 2084:b1f029dcf573 |
---|---|
1 test for range based discovery | |
2 ============================== | |
3 | |
4 $ . $TESTDIR/testlib/pythonpath.sh | |
5 | |
6 $ cat << EOF >> $HGRCPATH | |
7 > [extensions] | |
8 > hgext3rd.evolve = | |
9 > [experimental] | |
10 > obshashrange=1 | |
11 > verbose-obsolescence-exchange=1 | |
12 > [ui] | |
13 > logtemplate = "{rev} {node|short} {desc} {tags}\n" | |
14 > ssh=python "$RUNTESTDIR/dummyssh" | |
15 > [alias] | |
16 > debugobsolete=debugobsolete -d '0 0' | |
17 > EOF | |
18 | |
19 $ getid() { | |
20 > hg log --hidden --template '{node}\n' --rev "$1" | |
21 > } | |
22 | |
23 $ hg init server | |
24 $ hg clone ssh://user@dummy/server client | |
25 no changes found | |
26 updating to branch default | |
27 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
28 $ cd server | |
29 $ hg debugbuilddag '.+7' | |
30 $ hg log -G | |
31 o 7 4de32a90b66c r7 tip | |
32 | | |
33 o 6 f69452c5b1af r6 | |
34 | | |
35 o 5 c8d03c1b5e94 r5 | |
36 | | |
37 o 4 bebd167eb94d r4 | |
38 | | |
39 o 3 2dc09a01254d r3 | |
40 | | |
41 o 2 01241442b3c2 r2 | |
42 | | |
43 o 1 66f7d451a68b r1 | |
44 | | |
45 o 0 1ea73414a91b r0 | |
46 | |
47 | |
48 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(r1)'` | |
49 $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb `getid 'desc(r2)'` | |
50 $ hg debugobsolete cccccccccccccccccccccccccccccccccccccccc `getid 'desc(r4)'` | |
51 $ hg debugobsolete dddddddddddddddddddddddddddddddddddddddd `getid 'desc(r5)'` | |
52 $ hg debugobsolete eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee `getid 'desc(r7)'` | |
53 $ hg debugobsolete | |
54 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
55 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
56 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
57 dddddddddddddddddddddddddddddddddddddddd c8d03c1b5e94af74b772900c58259d2e08917735 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
58 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 4de32a90b66cd083ebf3c00b41277aa7abca51dd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
59 | |
60 $ hg debugstablerange --rev tip | |
61 rev node index size depth obshash | |
62 7 4de32a90b66c 0 8 8 38d1e7ad86ea | |
63 3 2dc09a01254d 0 4 4 000000000000 | |
64 7 4de32a90b66c 4 4 8 38d1e7ad86ea | |
65 3 2dc09a01254d 2 2 4 000000000000 | |
66 7 4de32a90b66c 6 2 8 033544c939f0 | |
67 1 66f7d451a68b 0 2 2 17ff8dd63509 | |
68 5 c8d03c1b5e94 4 2 6 57f6cf3757a2 | |
69 2 01241442b3c2 2 1 3 1ed3c61fb39a | |
70 0 1ea73414a91b 0 1 1 000000000000 | |
71 3 2dc09a01254d 3 1 4 000000000000 | |
72 7 4de32a90b66c 7 1 8 033544c939f0 | |
73 1 66f7d451a68b 1 1 2 17ff8dd63509 | |
74 4 bebd167eb94d 4 1 5 bbe4d7fe27a8 | |
75 5 c8d03c1b5e94 5 1 6 446c2dc3bce5 | |
76 6 f69452c5b1af 6 1 7 000000000000 | |
77 $ cd .. | |
78 | |
79 testing simple pull | |
80 =================== | |
81 | |
82 $ cd client | |
83 $ hg pull --rev 4 | |
84 pulling from ssh://user@dummy/server | |
85 adding changesets | |
86 adding manifests | |
87 adding file changes | |
88 added 5 changesets with 0 changes to 0 files | |
89 3 new obsolescence markers | |
90 (run 'hg update' to get a working copy) | |
91 $ hg -R ../server/ debugobsolete --rev ::4 | sort | |
92 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
93 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
94 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
95 $ hg debugobsolete | sort | |
96 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
97 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
98 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
99 | |
100 testing simple push | |
101 =================== | |
102 | |
103 $ hg up | |
104 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
105 $ echo foo > foo | |
106 $ hg add foo | |
107 $ hg commit -m foo | |
108 $ hg debugobsolete ffffffffffffffffffffffffffffffffffffffff `getid '.'` | |
109 $ hg push -f | |
110 pushing to ssh://user@dummy/server | |
111 searching for changes | |
112 OBSEXC: computing relevant nodes | |
113 OBSEXC: looking for common markers in 6 nodes | |
114 OBSEXC: computing markers relevant to 1 nodes | |
115 remote: adding changesets | |
116 remote: adding manifests | |
117 remote: adding file changes | |
118 remote: added 1 changesets with 1 changes to 1 files (+1 heads) | |
119 remote: 1 new obsolescence markers | |
120 | |
121 testing push with extra local markers | |
122 ===================================== | |
123 | |
124 $ hg log -G | |
125 @ 5 45f8b879de92 foo tip | |
126 | | |
127 o 4 bebd167eb94d r4 | |
128 | | |
129 o 3 2dc09a01254d r3 | |
130 | | |
131 o 2 01241442b3c2 r2 | |
132 | | |
133 o 1 66f7d451a68b r1 | |
134 | | |
135 o 0 1ea73414a91b r0 | |
136 | |
137 $ hg debugobsolete 111111111111111aaaaaaaaa1111111111111111 `getid 'desc(r1)'` | |
138 $ hg debugobsolete 22222222222222222bbbbbbbbbbbbb2222222222 `getid 'desc(r3)'` | |
139 $ hg push | |
140 pushing to ssh://user@dummy/server | |
141 searching for changes | |
142 OBSEXC: computing relevant nodes | |
143 OBSEXC: looking for common markers in 6 nodes | |
144 OBSEXC: computing markers relevant to 2 nodes | |
145 no changes found | |
146 remote: 2 new obsolescence markers | |
147 [1] | |
148 $ hg -R ../server/ debugobsolete --rev ::tip | sort | |
149 111111111111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
150 22222222222222222bbbbbbbbbbbbb2222222222 2dc09a01254db841290af0538aa52f6f52c776e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
151 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
152 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
153 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
154 ffffffffffffffffffffffffffffffffffffffff 45f8b879de922f6a6e620ba04205730335b6fc7e 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
155 $ hg debugobsolete | sort | |
156 111111111111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
157 22222222222222222bbbbbbbbbbbbb2222222222 2dc09a01254db841290af0538aa52f6f52c776e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
158 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
159 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
160 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
161 ffffffffffffffffffffffffffffffffffffffff 45f8b879de922f6a6e620ba04205730335b6fc7e 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
162 | |
163 testing pull with extra remote markers | |
164 ===================================== | |
165 | |
166 $ hg log -G | |
167 @ 5 45f8b879de92 foo tip | |
168 | | |
169 o 4 bebd167eb94d r4 | |
170 | | |
171 o 3 2dc09a01254d r3 | |
172 | | |
173 o 2 01241442b3c2 r2 | |
174 | | |
175 o 1 66f7d451a68b r1 | |
176 | | |
177 o 0 1ea73414a91b r0 | |
178 | |
179 $ hg -R ../server debugobsolete aaaaaaa11111111aaaaaaaaa1111111111111111 `getid 'desc(r1)'` | |
180 $ hg -R ../server debugobsolete bbbbbbb2222222222bbbbbbbbbbbbb2222222222 `getid 'desc(r4)'` | |
181 $ hg pull -r 6 | |
182 pulling from ssh://user@dummy/server | |
183 searching for changes | |
184 OBSEXC: looking for common markers in 6 nodes | |
185 OBSEXC: request obsmarkers for 2 common nodes | |
186 adding changesets | |
187 adding manifests | |
188 adding file changes | |
189 added 2 changesets with 0 changes to 0 files (+1 heads) | |
190 3 new obsolescence markers | |
191 (run 'hg heads' to see heads, 'hg merge' to merge) | |
192 | |
193 $ hg -R ../server/ debugobsolete --rev '::6' | sort | |
194 111111111111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
195 22222222222222222bbbbbbbbbbbbb2222222222 2dc09a01254db841290af0538aa52f6f52c776e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
196 aaaaaaa11111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
197 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
198 bbbbbbb2222222222bbbbbbbbbbbbb2222222222 bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
199 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
200 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
201 dddddddddddddddddddddddddddddddddddddddd c8d03c1b5e94af74b772900c58259d2e08917735 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
202 $ hg debugobsolete --rev '::6' | sort | |
203 111111111111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
204 22222222222222222bbbbbbbbbbbbb2222222222 2dc09a01254db841290af0538aa52f6f52c776e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
205 aaaaaaa11111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
206 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 66f7d451a68b85ed82ff5fcc254daf50c74144bd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
207 bbbbbbb2222222222bbbbbbbbbbbbb2222222222 bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
208 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
209 cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
210 dddddddddddddddddddddddddddddddddddddddd c8d03c1b5e94af74b772900c58259d2e08917735 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
211 |