comparison mercurial/commands.py @ 14254:d6a762d93b77

debugindex: change output for generaldelta revlogs For generaldelta revlogs, reporting the deltaparent instead of the chain base makes more sense, since that's what's actually stored in the revlog.
author Sune Foldager <cryo@cyanite.org>
date Sat, 07 May 2011 23:14:36 +0200
parents 19067884c5f5
children df9ccd39828c
comparison
equal deleted inserted replaced
14253:c28d5200374c 14254:d6a762d93b77
1547 raise util.Abort(_("unknown format %d") % format) 1547 raise util.Abort(_("unknown format %d") % format)
1548 1548
1549 if not r: 1549 if not r:
1550 r = revlog.revlog(scmutil.opener(os.getcwd(), audit=False), file_) 1550 r = revlog.revlog(scmutil.opener(os.getcwd(), audit=False), file_)
1551 1551
1552 generaldelta = r.version & revlog.REVLOGGENERALDELTA
1553 if generaldelta:
1554 basehdr = ' delta'
1555 else:
1556 basehdr = ' base'
1557
1552 if format == 0: 1558 if format == 0:
1553 ui.write(" rev offset length base linkrev" 1559 ui.write(" rev offset length " + basehdr + " linkrev"
1554 " nodeid p1 p2\n") 1560 " nodeid p1 p2\n")
1555 elif format == 1: 1561 elif format == 1:
1556 ui.write(" rev flag offset length" 1562 ui.write(" rev flag offset length"
1557 " size base link p1 p2 nodeid\n") 1563 " size " + basehdr + " link p1 p2 nodeid\n")
1558 1564
1559 for i in r: 1565 for i in r:
1560 node = r.node(i) 1566 node = r.node(i)
1567 if generaldelta:
1568 base = r.deltaparent(i)
1569 else:
1570 base = r.chainbase(i)
1561 if format == 0: 1571 if format == 0:
1562 try: 1572 try:
1563 pp = r.parents(node) 1573 pp = r.parents(node)
1564 except: 1574 except:
1565 pp = [nullid, nullid] 1575 pp = [nullid, nullid]
1566 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( 1576 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % (
1567 i, r.start(i), r.length(i), r.chainbase(i), r.linkrev(i), 1577 i, r.start(i), r.length(i), base, r.linkrev(i),
1568 short(node), short(pp[0]), short(pp[1]))) 1578 short(node), short(pp[0]), short(pp[1])))
1569 elif format == 1: 1579 elif format == 1:
1570 pr = r.parentrevs(i) 1580 pr = r.parentrevs(i)
1571 ui.write("% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s\n" % ( 1581 ui.write("% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s\n" % (
1572 i, r.flags(i), r.start(i), r.length(i), r.rawsize(i), 1582 i, r.flags(i), r.start(i), r.length(i), r.rawsize(i),
1573 r.chainbase(i), r.linkrev(i), pr[0], pr[1], short(node))) 1583 base, r.linkrev(i), pr[0], pr[1], short(node)))
1574 1584
1575 def debugindexdot(ui, repo, file_): 1585 def debugindexdot(ui, repo, file_):
1576 """dump an index DAG as a graphviz dot file""" 1586 """dump an index DAG as a graphviz dot file"""
1577 r = None 1587 r = None
1578 if repo: 1588 if repo: