diff -r db19f6be0442 -r 61cf3d39fd9e mercurial/debugcommands.py --- a/mercurial/debugcommands.py Mon May 30 11:30:48 2022 +0200 +++ b/mercurial/debugcommands.py Mon May 30 23:24:14 2022 +0200 @@ -105,6 +105,7 @@ from .revlogutils import ( constants as revlog_constants, + debug as revlog_debug, deltas as deltautil, nodemap, rewrite, @@ -1874,36 +1875,16 @@ opts = pycompat.byteskwargs(opts) store = cmdutil.openstorage(repo, b'debugindex', file_, opts) - if ui.debugflag: - shortfn = hex - else: - shortfn = short - - idlen = 12 - for i in store: - idlen = len(shortfn(store.node(i))) - break - fm = ui.formatter(b'debugindex', opts) - fm.plain( - b' rev linkrev %s %s p2\n' - % (b'nodeid'.ljust(idlen), b'p1'.ljust(idlen)) + + return revlog_debug.debug_index( + ui, + repo, + formatter=fm, + revlog=store, + full_node=ui.debugflag, ) - for rev in store: - node = store.node(rev) - parents = store.parents(node) - - fm.startitem() - fm.write(b'rev', b'%6d ', rev) - fm.write(b'linkrev', b'%7d ', store.linkrev(rev)) - fm.write(b'node', b'%s ', shortfn(node)) - fm.write(b'p1', b'%s ', shortfn(parents[0])) - fm.write(b'p2', b'%s', shortfn(parents[1])) - fm.plain(b'\n') - - fm.end() - @command( b'debugindexdot',