Mercurial > hg
comparison tests/test-push-race.t @ 32632:090a6fe6e563
test: add a push race case where the racing client create a new head
We check case where the raced client push updates an existing head while the
racing client push creates a new one.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 27 May 2017 22:25:40 +0200 |
parents | 63afbc74a856 |
children | b01bfa5abbfe |
comparison
equal
deleted
inserted
replaced
32631:63afbc74a856 | 32632:090a6fe6e563 |
---|---|
276 | | 276 | |
277 | o a9149a1428e2 C-B (default) | 277 | o a9149a1428e2 C-B (default) |
278 |/ | 278 |/ |
279 @ 842e2fac6304 C-ROOT (default) | 279 @ 842e2fac6304 C-ROOT (default) |
280 | 280 |
281 Pushing while someone creates a new head | |
282 ----------------------------------------- | |
283 | |
284 Pushing a new changeset while someone creates a new branch. | |
285 | |
286 # a (raced) | |
287 # | | |
288 # * b | |
289 # |/ | |
290 # * | |
291 | |
292 (resync-all) | |
293 | |
294 $ hg -R ./server pull ./client-racy | |
295 pulling from ./client-racy | |
296 searching for changes | |
297 adding changesets | |
298 adding manifests | |
299 adding file changes | |
300 added 1 changesets with 1 changes to 1 files | |
301 (run 'hg update' to get a working copy) | |
302 $ hg -R ./client-other pull | |
303 pulling from ssh://user@dummy/server | |
304 searching for changes | |
305 adding changesets | |
306 adding manifests | |
307 adding file changes | |
308 added 1 changesets with 1 changes to 1 files | |
309 (run 'hg update' to get a working copy) | |
310 $ hg -R ./client-racy pull | |
311 pulling from ssh://user@dummy/server | |
312 searching for changes | |
313 adding changesets | |
314 adding manifests | |
315 adding file changes | |
316 added 1 changesets with 1 changes to 1 files | |
317 (run 'hg update' to get a working copy) | |
318 | |
319 $ hg -R server graph | |
320 o 59e76faf78bd C-D (default) | |
321 | | |
322 o a9149a1428e2 C-B (default) | |
323 | | |
324 | o 51c544a58128 C-C (default) | |
325 | | | |
326 | o 98217d5a1659 C-A (default) | |
327 |/ | |
328 @ 842e2fac6304 C-ROOT (default) | |
329 | |
330 | |
331 Creating changesets | |
332 | |
333 (new head) | |
334 | |
335 $ hg -R client-other/ up 'desc("C-A")' | |
336 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
337 $ echo aaa >> client-other/a | |
338 $ hg -R client-other/ commit -m "C-E" | |
339 created new head | |
340 | |
341 (children of existing head) | |
342 | |
343 $ hg -R client-racy/ up 'desc("C-C")' | |
344 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
345 $ echo bbb >> client-racy/a | |
346 $ hg -R client-racy/ commit -m "C-F" | |
347 | |
348 Pushing | |
349 | |
350 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 & | |
351 | |
352 $ waiton $TESTTMP/readyfile | |
353 | |
354 $ hg -R client-other push -fr 'tip' | |
355 pushing to ssh://user@dummy/server | |
356 searching for changes | |
357 remote: adding changesets | |
358 remote: adding manifests | |
359 remote: adding file changes | |
360 remote: added 1 changesets with 1 changes to 1 files (+1 heads) | |
361 | |
362 $ release $TESTTMP/watchfile | |
363 | |
364 Check the result of the push | |
365 | |
366 $ cat ./push-log | |
367 pushing to ssh://user@dummy/server | |
368 searching for changes | |
369 wrote ready: $TESTTMP/readyfile | |
370 waiting on: $TESTTMP/watchfile | |
371 abort: push failed: | |
372 'repository changed while pushing - please try again' | |
373 | |
374 $ hg -R server graph | |
375 o d603e2c0cdd7 C-E (default) | |
376 | | |
377 | o 51c544a58128 C-C (default) | |
378 |/ | |
379 o 98217d5a1659 C-A (default) | |
380 | | |
381 | o 59e76faf78bd C-D (default) | |
382 | | | |
383 | o a9149a1428e2 C-B (default) | |
384 |/ | |
385 @ 842e2fac6304 C-ROOT (default) | |
386 |