changeset 44334:6614b301ea58

nodemap: add a flag to dump the details of the docket We are about to add more information to the docket. We first introduce a way to debug its content. Differential Revision: https://phab.mercurial-scm.org/D7887
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 15 Jan 2020 15:50:04 +0100
parents 50ad851efd9b
children e41a164db7a9
files mercurial/debugcommands.py tests/test-completion.t tests/test-persistent-nodemap.t
diffstat 3 files changed, 18 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/debugcommands.py	Wed Jan 15 15:49:54 2020 +0100
+++ b/mercurial/debugcommands.py	Wed Jan 15 15:50:04 2020 +0100
@@ -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(
--- a/tests/test-completion.t	Wed Jan 15 15:49:54 2020 +0100
+++ b/tests/test-completion.t	Wed Jan 15 15:50:04 2020 +0100
@@ -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
--- a/tests/test-persistent-nodemap.t	Wed Jan 15 15:49:54 2020 +0100
+++ b/tests/test-persistent-nodemap.t	Wed Jan 15 15:50:04 2020 +0100
@@ -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