mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
debugcommands: move 'debugindex' and 'debugindexdot' in the new module
This commit is contained in:
parent
56f5ef7ff5
commit
df02df41b0
@ -1858,76 +1858,6 @@ def copy(ui, repo, *pats, **opts):
|
||||
with repo.wlock(False):
|
||||
return cmdutil.copy(ui, repo, pats, opts)
|
||||
|
||||
@command('debugindex', debugrevlogopts +
|
||||
[('f', 'format', 0, _('revlog format'), _('FORMAT'))],
|
||||
_('[-f FORMAT] -c|-m|FILE'),
|
||||
optionalrepo=True)
|
||||
def debugindex(ui, repo, file_=None, **opts):
|
||||
"""dump the contents of an index file"""
|
||||
r = cmdutil.openrevlog(repo, 'debugindex', file_, opts)
|
||||
format = opts.get('format', 0)
|
||||
if format not in (0, 1):
|
||||
raise error.Abort(_("unknown format %d") % format)
|
||||
|
||||
generaldelta = r.version & revlog.REVLOGGENERALDELTA
|
||||
if generaldelta:
|
||||
basehdr = ' delta'
|
||||
else:
|
||||
basehdr = ' base'
|
||||
|
||||
if ui.debugflag:
|
||||
shortfn = hex
|
||||
else:
|
||||
shortfn = short
|
||||
|
||||
# There might not be anything in r, so have a sane default
|
||||
idlen = 12
|
||||
for i in r:
|
||||
idlen = len(shortfn(r.node(i)))
|
||||
break
|
||||
|
||||
if format == 0:
|
||||
ui.write((" rev offset length " + basehdr + " linkrev"
|
||||
" %s %s p2\n") % ("nodeid".ljust(idlen), "p1".ljust(idlen)))
|
||||
elif format == 1:
|
||||
ui.write((" rev flag offset length"
|
||||
" size " + basehdr + " link p1 p2"
|
||||
" %s\n") % "nodeid".rjust(idlen))
|
||||
|
||||
for i in r:
|
||||
node = r.node(i)
|
||||
if generaldelta:
|
||||
base = r.deltaparent(i)
|
||||
else:
|
||||
base = r.chainbase(i)
|
||||
if format == 0:
|
||||
try:
|
||||
pp = r.parents(node)
|
||||
except Exception:
|
||||
pp = [nullid, nullid]
|
||||
ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % (
|
||||
i, r.start(i), r.length(i), base, r.linkrev(i),
|
||||
shortfn(node), shortfn(pp[0]), shortfn(pp[1])))
|
||||
elif format == 1:
|
||||
pr = r.parentrevs(i)
|
||||
ui.write("% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s\n" % (
|
||||
i, r.flags(i), r.start(i), r.length(i), r.rawsize(i),
|
||||
base, r.linkrev(i), pr[0], pr[1], shortfn(node)))
|
||||
|
||||
@command('debugindexdot', debugrevlogopts,
|
||||
_('-c|-m|FILE'), optionalrepo=True)
|
||||
def debugindexdot(ui, repo, file_=None, **opts):
|
||||
"""dump an index DAG as a graphviz dot file"""
|
||||
r = cmdutil.openrevlog(repo, 'debugindexdot', file_, opts)
|
||||
ui.write(("digraph G {\n"))
|
||||
for i in r:
|
||||
node = r.node(i)
|
||||
pp = r.parents(node)
|
||||
ui.write("\t%d -> %d\n" % (r.rev(pp[0]), i))
|
||||
if pp[1] != nullid:
|
||||
ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i))
|
||||
ui.write("}\n")
|
||||
|
||||
@command('debugdeltachain',
|
||||
debugrevlogopts + formatteropts,
|
||||
_('-c|-m|FILE'),
|
||||
|
@ -15,6 +15,7 @@ from .i18n import _
|
||||
from .node import (
|
||||
bin,
|
||||
hex,
|
||||
nullid,
|
||||
short,
|
||||
)
|
||||
from . import (
|
||||
@ -677,3 +678,73 @@ def debugignore(ui, repo, *files, **opts):
|
||||
% (ignorefile, lineno, line))
|
||||
else:
|
||||
ui.write(_("%s is not ignored\n") % f)
|
||||
|
||||
@command('debugindex', commands.debugrevlogopts +
|
||||
[('f', 'format', 0, _('revlog format'), _('FORMAT'))],
|
||||
_('[-f FORMAT] -c|-m|FILE'),
|
||||
optionalrepo=True)
|
||||
def debugindex(ui, repo, file_=None, **opts):
|
||||
"""dump the contents of an index file"""
|
||||
r = cmdutil.openrevlog(repo, 'debugindex', file_, opts)
|
||||
format = opts.get('format', 0)
|
||||
if format not in (0, 1):
|
||||
raise error.Abort(_("unknown format %d") % format)
|
||||
|
||||
generaldelta = r.version & revlog.REVLOGGENERALDELTA
|
||||
if generaldelta:
|
||||
basehdr = ' delta'
|
||||
else:
|
||||
basehdr = ' base'
|
||||
|
||||
if ui.debugflag:
|
||||
shortfn = hex
|
||||
else:
|
||||
shortfn = short
|
||||
|
||||
# There might not be anything in r, so have a sane default
|
||||
idlen = 12
|
||||
for i in r:
|
||||
idlen = len(shortfn(r.node(i)))
|
||||
break
|
||||
|
||||
if format == 0:
|
||||
ui.write((" rev offset length " + basehdr + " linkrev"
|
||||
" %s %s p2\n") % ("nodeid".ljust(idlen), "p1".ljust(idlen)))
|
||||
elif format == 1:
|
||||
ui.write((" rev flag offset length"
|
||||
" size " + basehdr + " link p1 p2"
|
||||
" %s\n") % "nodeid".rjust(idlen))
|
||||
|
||||
for i in r:
|
||||
node = r.node(i)
|
||||
if generaldelta:
|
||||
base = r.deltaparent(i)
|
||||
else:
|
||||
base = r.chainbase(i)
|
||||
if format == 0:
|
||||
try:
|
||||
pp = r.parents(node)
|
||||
except Exception:
|
||||
pp = [nullid, nullid]
|
||||
ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % (
|
||||
i, r.start(i), r.length(i), base, r.linkrev(i),
|
||||
shortfn(node), shortfn(pp[0]), shortfn(pp[1])))
|
||||
elif format == 1:
|
||||
pr = r.parentrevs(i)
|
||||
ui.write("% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s\n" % (
|
||||
i, r.flags(i), r.start(i), r.length(i), r.rawsize(i),
|
||||
base, r.linkrev(i), pr[0], pr[1], shortfn(node)))
|
||||
|
||||
@command('debugindexdot', commands.debugrevlogopts,
|
||||
_('-c|-m|FILE'), optionalrepo=True)
|
||||
def debugindexdot(ui, repo, file_=None, **opts):
|
||||
"""dump an index DAG as a graphviz dot file"""
|
||||
r = cmdutil.openrevlog(repo, 'debugindexdot', file_, opts)
|
||||
ui.write(("digraph G {\n"))
|
||||
for i in r:
|
||||
node = r.node(i)
|
||||
pp = r.parents(node)
|
||||
ui.write("\t%d -> %d\n" % (r.rev(pp[0]), i))
|
||||
if pp[1] != nullid:
|
||||
ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i))
|
||||
ui.write("}\n")
|
||||
|
Loading…
Reference in New Issue
Block a user