Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 12893:15ca4bfecfe3 stable
debugindex: add --format flag to allow debugging parentdelta
-f 1 shows extra data from revlogv1 (aka revlogng) including flags and size
(based on a patch by Pradeepkumar Gayam <in3xes@gmail.com>)
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 30 Oct 2010 02:47:35 -0500 |
parents | 60d9692921ea |
children | 0e0a52bd58f9 0d4fb319974b |
comparison
equal
deleted
inserted
replaced
12892:919c440868d9 | 12893:15ca4bfecfe3 |
---|---|
1258 ui.write("standard: %s\n" % util.datestr(d)) | 1258 ui.write("standard: %s\n" % util.datestr(d)) |
1259 if range: | 1259 if range: |
1260 m = util.matchdate(range) | 1260 m = util.matchdate(range) |
1261 ui.write("match: %s\n" % m(d[0])) | 1261 ui.write("match: %s\n" % m(d[0])) |
1262 | 1262 |
1263 def debugindex(ui, repo, file_): | 1263 def debugindex(ui, repo, file_, **opts): |
1264 """dump the contents of an index file""" | 1264 """dump the contents of an index file""" |
1265 r = None | 1265 r = None |
1266 if repo: | 1266 if repo: |
1267 filelog = repo.file(file_) | 1267 filelog = repo.file(file_) |
1268 if len(filelog): | 1268 if len(filelog): |
1269 r = filelog | 1269 r = filelog |
1270 | |
1271 format = opts.get('format', 0) | |
1272 if format not in (0, 1): | |
1273 raise util.abort("unknown format %d" % format) | |
1274 | |
1270 if not r: | 1275 if not r: |
1271 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) | 1276 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) |
1272 ui.write(" rev offset length base linkrev" | 1277 |
1273 " nodeid p1 p2\n") | 1278 if format == 0: |
1279 ui.write(" rev offset length base linkrev" | |
1280 " nodeid p1 p2\n") | |
1281 elif format == 1: | |
1282 ui.write(" rev flag offset length" | |
1283 " size base link p1 p2 nodeid\n") | |
1284 | |
1274 for i in r: | 1285 for i in r: |
1275 node = r.node(i) | 1286 node = r.node(i) |
1276 try: | 1287 if format == 0: |
1277 pp = r.parents(node) | 1288 try: |
1278 except: | 1289 pp = r.parents(node) |
1279 pp = [nullid, nullid] | 1290 except: |
1280 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( | 1291 pp = [nullid, nullid] |
1281 i, r.start(i), r.length(i), r.base(i), r.linkrev(i), | 1292 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( |
1282 short(node), short(pp[0]), short(pp[1]))) | 1293 i, r.start(i), r.length(i), r.base(i), r.linkrev(i), |
1294 short(node), short(pp[0]), short(pp[1]))) | |
1295 elif format == 1: | |
1296 pr = r.parentrevs(i) | |
1297 ui.write("% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s\n" % ( | |
1298 i, r.flags(i), r.start(i), r.length(i), r.rawsize(i), | |
1299 r.base(i), r.linkrev(i), pr[0], pr[1], short(node))) | |
1283 | 1300 |
1284 def debugindexdot(ui, repo, file_): | 1301 def debugindexdot(ui, repo, file_): |
1285 """dump an index DAG as a graphviz dot file""" | 1302 """dump an index DAG as a graphviz dot file""" |
1286 r = None | 1303 r = None |
1287 if repo: | 1304 if repo: |
4137 (debugdate, | 4154 (debugdate, |
4138 [('e', 'extended', None, _('try extended date formats'))], | 4155 [('e', 'extended', None, _('try extended date formats'))], |
4139 _('[-e] DATE [RANGE]')), | 4156 _('[-e] DATE [RANGE]')), |
4140 "debugdata": (debugdata, [], _('FILE REV')), | 4157 "debugdata": (debugdata, [], _('FILE REV')), |
4141 "debugfsinfo": (debugfsinfo, [], _('[PATH]')), | 4158 "debugfsinfo": (debugfsinfo, [], _('[PATH]')), |
4142 "debugindex": (debugindex, [], _('FILE')), | 4159 "debugindex": (debugindex, |
4160 [('f', 'format', 0, _('revlog format'), _('FORMAT'))], | |
4161 _('FILE')), | |
4143 "debugindexdot": (debugindexdot, [], _('FILE')), | 4162 "debugindexdot": (debugindexdot, [], _('FILE')), |
4144 "debuginstall": (debuginstall, [], ''), | 4163 "debuginstall": (debuginstall, [], ''), |
4145 "debugpushkey": (debugpushkey, [], _('REPO NAMESPACE [KEY OLD NEW]')), | 4164 "debugpushkey": (debugpushkey, [], _('REPO NAMESPACE [KEY OLD NEW]')), |
4146 "debugrebuildstate": | 4165 "debugrebuildstate": |
4147 (debugrebuildstate, | 4166 (debugrebuildstate, |