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