diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -2100,6 +2100,12 @@ False, _(b'check that the data on disk data are correct.'), ), + ( + b'', + b'metadata', + False, + _(b'display the on disk meta data for the nodemap'), + ), ], ) def debugnodemap(ui, repo, **opts): @@ -2124,6 +2130,13 @@ if nm_data is not None: docket, data = nm_data return nodemap.check_data(ui, cl.index, data) + elif opts['metadata']: + unfi = repo.unfiltered() + cl = unfi.changelog + nm_data = nodemap.persisted_data(cl) + if nm_data is not None: + docket, data = nm_data + ui.write((b"uid: %s\n") % docket.uid) @command( diff --git a/tests/test-completion.t b/tests/test-completion.t --- a/tests/test-completion.t +++ b/tests/test-completion.t @@ -291,7 +291,7 @@ debugmanifestfulltextcache: clear, add debugmergestate: debugnamecomplete: - debugnodemap: dump-new, dump-disk, check + debugnodemap: dump-new, dump-disk, check, metadata debugobsolete: flags, record-parents, rev, exclusive, index, delete, date, user, template debugp1copies: rev debugp2copies: rev 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 @@ -12,6 +12,8 @@ > persistent-nodemap=yes > EOF $ hg debugbuilddag .+5000 + $ hg debugnodemap --metadata + uid: ???????????????? (glob) $ f --size .hg/store/00changelog.n .hg/store/00changelog.n: size=18 $ f --sha256 .hg/store/00changelog-*.nd @@ -47,6 +49,8 @@ $ echo foo > foo $ hg add foo $ hg ci -m 'foo' + $ hg debugnodemap --metadata + uid: ???????????????? (glob) $ f --size .hg/store/00changelog.n .hg/store/00changelog.n: size=18