##// END OF EJS Templates
treediscovery: fix regression when run against older repos (issue2793)...
Peter Arrenbrecht -
r14199:e3dd3dcd default
parent child Browse files
Show More
@@ -0,0 +1,278 b''
1 Tests discovery against servers without getbundle support:
2
3 $ CAP=getbundle
4 $ . "$TESTDIR/notcapable"
5 $ echo '[ui]' >>$HGRCPATH
6 $ echo 'logtemplate="{rev} {node|short}: {desc} {branches}\\n"' >>$HGRCPATH
7 $ echo '[extensions]' >>$HGRCPATH
8 $ echo 'graphlog=' >>$HGRCPATH
9
10 Setup HTTP server control:
11
12 $ export remote=http://localhost:$HGPORT/
13 $ start() {
14 > echo '[web]' > $1/.hg/hgrc
15 > echo 'push_ssl = false' >> $1/.hg/hgrc
16 > echo 'allow_push = *' >> $1/.hg/hgrc
17 > hg serve -R $1 -p $HGPORT -d --pid-file=hg.pid -E errors.log
18 > cat hg.pid >> $DAEMON_PIDS
19 > }
20 $ stop() {
21 > "$TESTDIR/killdaemons.py"
22 > }
23
24 Both are empty:
25
26 $ hg init empty1
27 $ hg init empty2
28 $ start empty2
29 $ hg incoming -R empty1 $remote
30 comparing with http://localhost:$HGPORT/
31 no changes found
32 [1]
33 $ hg outgoing -R empty1 $remote
34 comparing with http://localhost:$HGPORT/
35 no changes found
36 [1]
37 $ hg pull -R empty1 $remote
38 pulling from http://localhost:$HGPORT/
39 no changes found
40 $ hg push -R empty1 $remote
41 pushing to http://localhost:$HGPORT/
42 no changes found
43 $ stop
44
45 Base repo:
46
47 $ hg init main
48 $ cd main
49 $ hg debugbuilddag -mo '+2:tbase @name1 +3:thead1 <tbase @name2 +4:thead2 @both /thead1 +2:tmaintip'
50 $ hg glog
51 o 11 a19bfa7e7328: r11 both
52 |
53 o 10 8b6bad1512e1: r10 both
54 |
55 o 9 025829e08038: r9 both
56 |\
57 | o 8 d8f638ac69e9: r8 name2
58 | |
59 | o 7 b6b4d315a2ac: r7 name2
60 | |
61 | o 6 6c6f5d5f3c11: r6 name2
62 | |
63 | o 5 70314b29987d: r5 name2
64 | |
65 o | 4 e71dbbc70e03: r4 name1
66 | |
67 o | 3 2c8d5d5ec612: r3 name1
68 | |
69 o | 2 a7892891da29: r2 name1
70 |/
71 o 1 0019a3b924fd: r1
72 |
73 o 0 d57206cc072a: r0
74
75 $ cd ..
76 $ start main
77
78 Full clone:
79
80 $ hg clone main full
81 updating to branch default
82 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
83 $ cd full
84 $ hg incoming $remote
85 comparing with http://localhost:$HGPORT/
86 searching for changes
87 no changes found
88 [1]
89 $ hg outgoing $remote
90 comparing with http://localhost:$HGPORT/
91 searching for changes
92 no changes found
93 [1]
94 $ hg pull $remote
95 pulling from http://localhost:$HGPORT/
96 searching for changes
97 no changes found
98 $ hg push $remote
99 pushing to http://localhost:$HGPORT/
100 searching for changes
101 no changes found
102 $ cd ..
103
104 Local is empty:
105
106 $ cd empty1
107 $ hg incoming $remote
108 comparing with http://localhost:$HGPORT/
109 0 d57206cc072a: r0
110 1 0019a3b924fd: r1
111 2 a7892891da29: r2 name1
112 3 2c8d5d5ec612: r3 name1
113 4 e71dbbc70e03: r4 name1
114 5 70314b29987d: r5 name2
115 6 6c6f5d5f3c11: r6 name2
116 7 b6b4d315a2ac: r7 name2
117 8 d8f638ac69e9: r8 name2
118 9 025829e08038: r9 both
119 10 8b6bad1512e1: r10 both
120 11 a19bfa7e7328: r11 both
121 $ hg outgoing $remote
122 comparing with http://localhost:$HGPORT/
123 no changes found
124 [1]
125 $ hg push $remote
126 pushing to http://localhost:$HGPORT/
127 no changes found
128 $ hg pull $remote
129 pulling from http://localhost:$HGPORT/
130 requesting all changes
131 adding changesets
132 adding manifests
133 adding file changes
134 added 12 changesets with 24 changes to 2 files
135 (run 'hg update' to get a working copy)
136 $ hg incoming $remote
137 comparing with http://localhost:$HGPORT/
138 searching for changes
139 no changes found
140 [1]
141 $ cd ..
142
143 Local is subset:
144
145 $ hg clone main subset --rev name2 ; cd subset
146 adding changesets
147 adding manifests
148 adding file changes
149 added 6 changesets with 12 changes to 2 files
150 updating to branch name2
151 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
152 $ hg incoming $remote
153 comparing with http://localhost:$HGPORT/
154 searching for changes
155 6 a7892891da29: r2 name1
156 7 2c8d5d5ec612: r3 name1
157 8 e71dbbc70e03: r4 name1
158 9 025829e08038: r9 both
159 10 8b6bad1512e1: r10 both
160 11 a19bfa7e7328: r11 both
161 $ hg outgoing $remote
162 comparing with http://localhost:$HGPORT/
163 searching for changes
164 no changes found
165 [1]
166 $ hg push $remote
167 pushing to http://localhost:$HGPORT/
168 searching for changes
169 no changes found
170 $ hg pull $remote
171 pulling from http://localhost:$HGPORT/
172 searching for changes
173 adding changesets
174 adding manifests
175 adding file changes
176 added 6 changesets with 12 changes to 2 files
177 (run 'hg update' to get a working copy)
178 $ hg incoming $remote
179 comparing with http://localhost:$HGPORT/
180 searching for changes
181 no changes found
182 [1]
183 $ cd ..
184
185 Remote is empty:
186
187 $ stop ; start empty2
188 $ cd main
189 $ hg incoming $remote
190 comparing with http://localhost:$HGPORT/
191 searching for changes
192 no changes found
193 [1]
194 $ hg outgoing $remote
195 comparing with http://localhost:$HGPORT/
196 searching for changes
197 0 d57206cc072a: r0
198 1 0019a3b924fd: r1
199 2 a7892891da29: r2 name1
200 3 2c8d5d5ec612: r3 name1
201 4 e71dbbc70e03: r4 name1
202 5 70314b29987d: r5 name2
203 6 6c6f5d5f3c11: r6 name2
204 7 b6b4d315a2ac: r7 name2
205 8 d8f638ac69e9: r8 name2
206 9 025829e08038: r9 both
207 10 8b6bad1512e1: r10 both
208 11 a19bfa7e7328: r11 both
209 $ hg pull $remote
210 pulling from http://localhost:$HGPORT/
211 searching for changes
212 no changes found
213 $ hg push $remote
214 pushing to http://localhost:$HGPORT/
215 searching for changes
216 remote: adding changesets
217 remote: adding manifests
218 remote: adding file changes
219 remote: added 12 changesets with 24 changes to 2 files
220 $ hg outgoing $remote
221 comparing with http://localhost:$HGPORT/
222 searching for changes
223 no changes found
224 [1]
225 $ cd ..
226
227 Local is superset:
228
229 $ stop
230 $ hg clone main subset2 --rev name2
231 adding changesets
232 adding manifests
233 adding file changes
234 added 6 changesets with 12 changes to 2 files
235 updating to branch name2
236 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
237 $ start subset2
238 $ cd main
239 $ hg incoming $remote
240 comparing with http://localhost:$HGPORT/
241 searching for changes
242 no changes found
243 [1]
244 $ hg outgoing $remote
245 comparing with http://localhost:$HGPORT/
246 searching for changes
247 2 a7892891da29: r2 name1
248 3 2c8d5d5ec612: r3 name1
249 4 e71dbbc70e03: r4 name1
250 9 025829e08038: r9 both
251 10 8b6bad1512e1: r10 both
252 11 a19bfa7e7328: r11 both
253 $ hg pull $remote
254 pulling from http://localhost:$HGPORT/
255 searching for changes
256 no changes found
257 $ hg push $remote
258 pushing to http://localhost:$HGPORT/
259 searching for changes
260 abort: push creates new remote branches: both, name1!
261 (use 'hg push --new-branch' to create new remote branches)
262 [255]
263 $ hg push $remote --new-branch
264 pushing to http://localhost:$HGPORT/
265 searching for changes
266 remote: adding changesets
267 remote: adding manifests
268 remote: adding file changes
269 remote: added 6 changesets with 12 changes to 2 files
270 $ hg outgoing $remote
271 comparing with http://localhost:$HGPORT/
272 searching for changes
273 no changes found
274 [1]
275 $ cd ..
276
277 $ stop
278
@@ -33,7 +33,7 b' def findcommonincoming(repo, remote, hea'
33 33 base.add(nullid)
34 34 if heads != [nullid]:
35 35 return [nullid], [nullid], list(heads)
36 return [nullid], [], []
36 return [nullid], [], heads
37 37
38 38 # assume we're closer to the tip than the root
39 39 # and start by examining the heads
@@ -46,10 +46,10 b' def findcommonincoming(repo, remote, hea'
46 46 else:
47 47 base.add(h)
48 48
49 if not unknown:
50 return list(base), [], list(heads)
51
49 52 heads = unknown
50 if not unknown:
51 return list(base), [], []
52
53 53 req = set(unknown)
54 54 reqcnt = 0
55 55
General Comments 0
You need to be logged in to leave comments. Login now