Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 1116:0cdd73b0767c
Add some rename debugging support
author | mpm@selenic.com |
---|---|
date | Sat, 27 Aug 2005 20:58:53 -0700 |
parents | 58371c4c2c8f |
children | 624a3a4fa232 bd917e1a26dd |
comparison
equal
deleted
inserted
replaced
1115:89f54e72581d | 1116:0cdd73b0767c |
---|---|
688 for file_ in keys: | 688 for file_ in keys: |
689 ui.write("%c %3o %10d %s %s\n" | 689 ui.write("%c %3o %10d %s %s\n" |
690 % (dc[file_][0], dc[file_][1] & 0777, dc[file_][2], | 690 % (dc[file_][0], dc[file_][1] & 0777, dc[file_][2], |
691 time.strftime("%x %X", | 691 time.strftime("%x %X", |
692 time.localtime(dc[file_][3])), file_)) | 692 time.localtime(dc[file_][3])), file_)) |
693 ui.write("\n") | |
694 for f in repo.dirstate.copies: | |
695 ui.write("%s -> %s\n" % (repo.dirstate.copies[f], f)) | |
693 | 696 |
694 def debugdata(ui, file_, rev): | 697 def debugdata(ui, file_, rev): |
695 """dump the contents of an data file revision""" | 698 """dump the contents of an data file revision""" |
696 r = revlog.revlog(file, file_[:-2] + ".i", file_) | 699 r = revlog.revlog(file, file_[:-2] + ".i", file_) |
697 ui.write(r.revision(r.lookup(rev))) | 700 ui.write(r.revision(r.lookup(rev))) |
715 e = r.index[i] | 718 e = r.index[i] |
716 ui.write("\t%d -> %d\n" % (r.rev(e[4]), i)) | 719 ui.write("\t%d -> %d\n" % (r.rev(e[4]), i)) |
717 if e[5] != nullid: | 720 if e[5] != nullid: |
718 ui.write("\t%d -> %d\n" % (r.rev(e[5]), i)) | 721 ui.write("\t%d -> %d\n" % (r.rev(e[5]), i)) |
719 ui.write("}\n") | 722 ui.write("}\n") |
723 | |
724 def debugrename(ui, repo, file, rev=None): | |
725 r = repo.file(relpath(repo, [file])[0]) | |
726 if rev: | |
727 try: | |
728 # assume all revision numbers are for changesets | |
729 n = repo.lookup(rev) | |
730 change = repo.changelog.read(n) | |
731 m = repo.manifest.read(change[0]) | |
732 n = m[relpath(repo, [file])[0]] | |
733 except hg.RepoError, KeyError: | |
734 n = r.lookup(rev) | |
735 else: | |
736 n = r.tip() | |
737 m = r.renamed(n) | |
738 if m: | |
739 ui.write("renamed from %s:%s\n" % (m[0], hex(m[1]))) | |
740 else: | |
741 ui.write("not renamed\n") | |
720 | 742 |
721 def debugwalk(ui, repo, *pats, **opts): | 743 def debugwalk(ui, repo, *pats, **opts): |
722 """show how files match on given patterns""" | 744 """show how files match on given patterns""" |
723 items = list(walk(repo, pats, opts)) | 745 items = list(walk(repo, pats, opts)) |
724 if not items: | 746 if not items: |
1513 "debugconfig": (debugconfig, [], 'debugconfig'), | 1535 "debugconfig": (debugconfig, [], 'debugconfig'), |
1514 "debugstate": (debugstate, [], 'debugstate'), | 1536 "debugstate": (debugstate, [], 'debugstate'), |
1515 "debugdata": (debugdata, [], 'debugdata FILE REV'), | 1537 "debugdata": (debugdata, [], 'debugdata FILE REV'), |
1516 "debugindex": (debugindex, [], 'debugindex FILE'), | 1538 "debugindex": (debugindex, [], 'debugindex FILE'), |
1517 "debugindexdot": (debugindexdot, [], 'debugindexdot FILE'), | 1539 "debugindexdot": (debugindexdot, [], 'debugindexdot FILE'), |
1540 "debugrename": (debugrename, [], 'debugrename FILE [REV]'), | |
1518 "debugwalk": | 1541 "debugwalk": |
1519 (debugwalk, | 1542 (debugwalk, |
1520 [('I', 'include', [], 'include path in search'), | 1543 [('I', 'include', [], 'include path in search'), |
1521 ('X', 'exclude', [], 'exclude path from search')], | 1544 ('X', 'exclude', [], 'exclude path from search')], |
1522 'debugwalk [OPTION]... [FILE]...'), | 1545 'debugwalk [OPTION]... [FILE]...'), |