comparison tests/test-largefiles.t @ 29421:ecbbf4d56ee8

largefiles: check file in the repo store before checking remotely (issue5257) Problem was files to check were gathered in the repository where the verify was launched but verification was done on the remote store. It was observed when user committed in cloned repository and ran verify before pushing - committed files were marked as non existing. This commit fixes this by checking in the remote store only files that are not existing in the repository store where verify was launched. Solution is similiar to fd288d118074
author liscju <piotr.listkiewicz@gmail.com>
date Thu, 23 Jun 2016 22:37:17 +0200
parents d7af9b4ae7dd
children ce47a9dc348b
comparison
equal deleted inserted replaced
29420:e5c91dc909f7 29421:ecbbf4d56ee8
1534 checking files 1534 checking files
1535 10 files, 10 changesets, 28 total revisions 1535 10 files, 10 changesets, 28 total revisions
1536 searching 1 changesets for largefiles 1536 searching 1 changesets for largefiles
1537 verified existence of 3 revisions of 3 largefiles 1537 verified existence of 3 revisions of 3 largefiles
1538 1538
1539 - introduce missing blob in local store repo and make sure that this is caught: 1539 - introduce missing blob in local store repo and remote store
1540 and make sure that this is caught:
1541
1540 $ mv $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 . 1542 $ mv $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 .
1543 $ rm .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1541 $ hg verify --large 1544 $ hg verify --large
1542 checking changesets 1545 checking changesets
1543 checking manifests 1546 checking manifests
1544 crosschecking files in changesets and manifests 1547 crosschecking files in changesets and manifests
1545 checking files 1548 checking files
1554 $ hg verify -q --large --lfc 1557 $ hg verify -q --large --lfc
1555 changeset 9:598410d3eb9a: sub/large4 references corrupted $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 (glob) 1558 changeset 9:598410d3eb9a: sub/large4 references corrupted $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 (glob)
1556 [1] 1559 [1]
1557 1560
1558 - cleanup 1561 - cleanup
1559 $ mv e166e74c7303192238d60af5a9c4ce9bef0b7928 $TESTTMP/d/.hg/largefiles/ 1562 $ cp e166e74c7303192238d60af5a9c4ce9bef0b7928 $TESTTMP/d/.hg/largefiles/
1563 $ mv e166e74c7303192238d60af5a9c4ce9bef0b7928 .hg/largefiles/
1560 1564
1561 - verifying all revisions will fail because we didn't clone all largefiles to d: 1565 - verifying all revisions will fail because we didn't clone all largefiles to d:
1562 $ echo 'T-shirt' > $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 1566 $ echo 'T-shirt' > $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1563 $ hg verify -q --lfa --lfc 1567 $ hg verify -q --lfa --lfc
1564 changeset 0:30d30fe6a5be: large1 references missing $TESTTMP/d/.hg/largefiles/4669e532d5b2c093a78eca010077e708a071bb64 (glob) 1568 changeset 0:30d30fe6a5be: large1 references missing $TESTTMP/d/.hg/largefiles/4669e532d5b2c093a78eca010077e708a071bb64 (glob)