marmoute created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY If the persistent nodemap does not contains all revision that the index contains, this is should be detected and dealt with. We add a test for this case. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D8183 AFFECTED FILES tests/test-persistent-nodemap.t CHANGE DETAILS diff --git a/tests/test-persistent-nodemap.t b/tests/test-persistent-nodemap.t --- a/tests/test-persistent-nodemap.t +++ b/tests/test-persistent-nodemap.t @@ -190,3 +190,42 @@ data-length: 122944 data-unused: 0 #endif + +Check out of sync nodemap +========================= + +First copy old data on the side. + + $ mkdir ../tmp-copies + $ cp .hg/store/00changelog-????????????????.nd .hg/store/00changelog.n ../tmp-copies + +Nodemap lagging behind +---------------------- + +make a new commit + + $ echo bar2 > bar + $ hg ci -m 'bar2' + $ NODE=`hg log -r tip -T '{node}\n'` + $ hg log -r "$NODE" -T '{rev}\n' + 5003 + +If the nodemap is lagging behind, it can catch up fine + + $ hg debugnodemap --metadata + uid: ???????????????? (glob) + tip-rev: 5003 + data-length: 123200 (pure !) + data-length: 123200 (rust !) + data-length: 122944 (no-rust no-pure !) + data-unused: 256 (pure !) + data-unused: 256 (rust !) + data-unused: 0 (no-rust no-pure !) + $ cp -f ../tmp-copies/* .hg/store/ + $ hg debugnodemap --metadata + uid: ???????????????? (glob) + tip-rev: 5002 + data-length: 122944 + data-unused: 0 + $ hg log -r "$NODE" -T '{rev}\n' + 5003 To: marmoute, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel