1 This file contains tests case that deal with format change accross stream clone |
1 This file contains tests case that deal with format change accross stream clone |
2 |
2 |
3 #require serve no-reposimplestore no-chg |
3 #require serve no-reposimplestore no-chg |
4 |
4 |
5 #testcases stream-legacy stream-bundle2 |
5 #testcases stream-legacy stream-bundle2 |
|
6 |
|
7 $ cat << EOF >> $HGRCPATH |
|
8 > [storage] |
|
9 > revlog.persistent-nodemap.slow-path=allow |
|
10 > EOF |
6 |
11 |
7 #if stream-legacy |
12 #if stream-legacy |
8 $ cat << EOF >> $HGRCPATH |
13 $ cat << EOF >> $HGRCPATH |
9 > [server] |
14 > [server] |
10 > bundle2.stream = no |
15 > bundle2.stream = no |
11 > EOF |
16 > EOF |
12 #endif |
17 #endif |
13 |
18 |
14 Initialize repository |
19 Initialize repository |
15 |
20 |
16 $ hg init server --config format.use-share-safe=yes |
21 $ hg init server --config format.use-share-safe=yes --config format.use-persistent-nodemap=yes |
17 $ cd server |
22 $ cd server |
18 $ sh $TESTDIR/testlib/stream_clone_setup.sh |
23 $ sh $TESTDIR/testlib/stream_clone_setup.sh |
19 adding 00changelog-ab349180a0405010.nd |
24 adding 00changelog-ab349180a0405010.nd |
20 adding 00changelog.d |
25 adding 00changelog.d |
21 adding 00changelog.i |
26 adding 00changelog.i |
343 $ hg debugrequires -R clone-add-share-safe | grep share-safe |
348 $ hg debugrequires -R clone-add-share-safe | grep share-safe |
344 share-safe |
349 share-safe |
345 |
350 |
346 |
351 |
347 $ killdaemons.py |
352 $ killdaemons.py |
|
353 |
|
354 |
|
355 Test streaming from/to repository without a persistent-nodemap |
|
356 ============================================================== |
|
357 |
|
358 persistent nodemap affects revlog, but they are easy to generate locally, so we allow it to be changed over a stream clone |
|
359 |
|
360 $ rm hg-*.pid errors-*.txt |
|
361 $ hg clone --pull --config format.use-persistent-nodemap=no server server-no-persistent-nodemap |
|
362 requesting all changes |
|
363 adding changesets |
|
364 adding manifests |
|
365 adding file changes |
|
366 added 5004 changesets with 1088 changes to 1088 files (+1 heads) |
|
367 new changesets 96ee1d7354c4:06ddac466af5 |
|
368 updating to branch default |
|
369 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
370 $ hg verify -R server-no-persistent-nodemap |
|
371 checking changesets |
|
372 checking manifests |
|
373 crosschecking files in changesets and manifests |
|
374 checking files |
|
375 checked 5004 changesets with 1088 changes to 1088 files |
|
376 $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt |
|
377 $ cat hg-1.pid > $DAEMON_PIDS |
|
378 $ hg -R server-no-persistent-nodemap serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt |
|
379 $ cat hg-2.pid >> $DAEMON_PIDS |
|
380 $ hg debugrequires -R server | grep persistent-nodemap |
|
381 persistent-nodemap |
|
382 $ hg debugrequires -R server-no-persistent-nodemap | grep persistent-nodemap |
|
383 [1] |
|
384 $ ls -1 server/.hg/store/00changelog* |
|
385 server/.hg/store/00changelog-*.nd (glob) |
|
386 server/.hg/store/00changelog.d |
|
387 server/.hg/store/00changelog.i |
|
388 server/.hg/store/00changelog.n |
|
389 $ ls -1 server-no-persistent-nodemap/.hg/store/00changelog* |
|
390 server-no-persistent-nodemap/.hg/store/00changelog.d |
|
391 server-no-persistent-nodemap/.hg/store/00changelog.i |
|
392 |
|
393 persistent-nodemap → no-persistent-nodemap cloning |
|
394 |
|
395 $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-persistent-nodemap --config format.use-persistent-nodemap=no |
|
396 $ cat errors-1.txt |
|
397 $ hg -R clone-remove-persistent-nodemap verify |
|
398 checking changesets |
|
399 checking manifests |
|
400 crosschecking files in changesets and manifests |
|
401 checking files |
|
402 checked 5004 changesets with 1088 changes to 1088 files |
|
403 $ hg debugrequires -R clone-remove-persistent-nodemap | grep persistent-nodemap |
|
404 [1] |
|
405 |
|
406 The persistent-nodemap files should no longer exists |
|
407 |
|
408 $ ls -1 clone-remove-persistent-nodemap/.hg/store/00changelog* |
|
409 clone-remove-persistent-nodemap/.hg/store/00changelog.d |
|
410 clone-remove-persistent-nodemap/.hg/store/00changelog.i |
|
411 |
|
412 |
|
413 no-persistent-nodemap → persistent-nodemap cloning |
|
414 |
|
415 $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-persistent-nodemap --config format.use-persistent-nodemap=yes |
|
416 $ cat errors-2.txt |
|
417 $ hg -R clone-add-persistent-nodemap verify |
|
418 checking changesets |
|
419 checking manifests |
|
420 crosschecking files in changesets and manifests |
|
421 checking files |
|
422 checked 5004 changesets with 1088 changes to 1088 files |
|
423 $ hg debugrequires -R clone-add-persistent-nodemap | grep persistent-nodemap |
|
424 persistent-nodemap |
|
425 |
|
426 The persistent-nodemap files should exists |
|
427 |
|
428 $ ls -1 clone-add-persistent-nodemap/.hg/store/00changelog* |
|
429 clone-add-persistent-nodemap/.hg/store/00changelog-*.nd (glob) |
|
430 clone-add-persistent-nodemap/.hg/store/00changelog.d |
|
431 clone-add-persistent-nodemap/.hg/store/00changelog.i |
|
432 clone-add-persistent-nodemap/.hg/store/00changelog.n |
|
433 |
|
434 |
|
435 $ killdaemons.py |