From patchwork Wed Apr 15 12:00:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D8415: nodemap: add a new mode value, "strict" From: phabricator X-Patchwork-Id: 46121 Message-Id: <919281f878611ba7853effa995504e3f@localhost.localdomain> To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Wed, 15 Apr 2020 12:00:05 +0000 marmoute updated this revision to Diff 21093. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8415?vs=21063&id=21093 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8415/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8415 AFFECTED FILES mercurial/revlogutils/nodemap.py tests/test-persistent-nodemap.t CHANGE DETAILS To: marmoute, #hg-reviewers Cc: mercurial-devel 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 @@ -96,6 +96,17 @@ 5001 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo foo > foo $ hg add foo + +#if no-pure no-rust + + $ hg ci -m 'foo' --config "experimental.exp-persistent-nodemap.mode=strict" + transaction abort! + rollback completed + abort: persistent nodemap in strict mode without efficient method + [255] + +#endif + $ hg ci -m 'foo' #if no-pure no-rust diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -148,6 +148,8 @@ msg = _(b"persistent nodemap in strict mode without efficient method") if mode == b'warn': tr._report(b"%s\n" % msg) + elif mode == b'strict': + raise error.Abort(msg) data = None # first attemp an incremental update of the data