433 tip-rev: 5002 |
433 tip-rev: 5002 |
434 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
434 tip-node: b355ef8adce0949b8bdf6afc72ca853740d65944 |
435 data-length: 121088 |
435 data-length: 121088 |
436 data-unused: 0 |
436 data-unused: 0 |
437 data-unused: 0.000% |
437 data-unused: 0.000% |
438 |
|
439 Sub-case: fallback for corrupted data file |
|
440 ------------------------------------------ |
|
441 |
|
442 Sabotaging the data file so that nodemap resolutions fail, triggering fallback to |
|
443 (non-persistent) C implementation. |
|
444 |
|
445 |
|
446 $ UUID=`hg debugnodemap --metadata| grep 'uid:' | \ |
|
447 > sed 's/uid: //'` |
|
448 $ FILE=.hg/store/00changelog-"${UUID}".nd |
|
449 $ python -c "fobj = open('$FILE', 'r+b'); fobj.write(b'\xff' * 121088); fobj.close()" |
|
450 |
|
451 The nodemap data file is still considered in sync with the docket. This |
|
452 would fail without the fallback to the (non-persistent) C implementation: |
|
453 |
|
454 $ hg log -r b355ef8adce0949b8bdf6afc72ca853740d65944 -T '{rev}\n' --traceback |
|
455 5002 |
|
456 |
|
457 The nodemap data file hasn't been fixed, more tests can be inserted: |
|
458 |
|
459 $ hg debugnodemap --dump-disk | f --bytes=256 --hexdump --size |
|
460 size=121088 |
|
461 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
462 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
463 0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
464 0030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
465 0040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
466 0050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
467 0060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
468 0070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
469 0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
470 0090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
471 00a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
472 00b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
473 00c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
474 00d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
475 00e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
476 00f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
|
477 |
|
478 $ mv ../tmp-data-file $FILE |
438 $ mv ../tmp-data-file $FILE |
479 $ mv ../tmp-docket .hg/store/00changelog.n |
439 $ mv ../tmp-docket .hg/store/00changelog.n |
480 |
440 |
481 Check transaction related property |
441 Check transaction related property |
482 ================================== |
442 ================================== |