Mercurial > hg
changeset 12132:8a0e5b0c0ba9
debugindex(dot): try to access filelogs through repo, if possible
If a repository is accesible, first treat the filename as a working copy file
and try to open its filelog. Fallback to opening the file directly as a
revlog, as before.
author | Sune Foldager <sune.foldager@edlund.dk> |
---|---|
date | Wed, 01 Sep 2010 15:03:45 +0200 |
parents | c061f9882ff7 |
children | b6cc68ef2702 |
files | mercurial/commands.py |
diffstat | 1 files changed, 18 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Wed Sep 01 14:55:03 2010 +0200 +++ b/mercurial/commands.py Wed Sep 01 15:03:45 2010 +0200 @@ -1240,9 +1240,15 @@ m = util.matchdate(range) ui.write("match: %s\n" % m(d[0])) -def debugindex(ui, file_): +def debugindex(ui, repo, file_): """dump the contents of an index file""" - r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) + r = None + if repo: + filelog = repo.file(file_) + if len(filelog): + r = filelog + if not r: + r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) ui.write(" rev offset length base linkrev" " nodeid p1 p2\n") for i in r: @@ -1255,9 +1261,15 @@ i, r.start(i), r.length(i), r.base(i), r.linkrev(i), short(node), short(pp[0]), short(pp[1]))) -def debugindexdot(ui, file_): +def debugindexdot(ui, repo, file_): """dump an index DAG as a graphviz dot file""" - r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) + r = None + if repo: + filelog = repo.file(file_) + if len(filelog): + r = filelog + if not r: + r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) ui.write("digraph G {\n") for i in r: node = r.node(i) @@ -4483,7 +4495,6 @@ } norepo = ("clone init version help debugcommands debugcomplete" - " debugindex debugindexdot debugdate debuginstall debugfsinfo" - " debugpushkey") + " debugdate debuginstall debugfsinfo debugpushkey") optionalrepo = ("identify paths serve showconfig debugancestor debugdag" - " debugdata") + " debugdata debugindex debugindexdot")