Show More
@@ -746,7 +746,16 b' def debugdate(ui, date, range=None, **op' | |||
|
746 | 746 | |
|
747 | 747 | @command( |
|
748 | 748 | b'debugdeltachain', |
|
749 | cmdutil.debugrevlogopts + cmdutil.formatteropts, | |
|
749 | [ | |
|
750 | ( | |
|
751 | b'r', | |
|
752 | b'rev', | |
|
753 | [], | |
|
754 | _('restrict processing to these revlog revisions'), | |
|
755 | ), | |
|
756 | ] | |
|
757 | + cmdutil.debugrevlogopts | |
|
758 | + cmdutil.formatteropts, | |
|
750 | 759 | _(b'-c|-m|FILE'), |
|
751 | 760 | optionalrepo=True, |
|
752 | 761 | ) |
@@ -797,12 +806,16 b' def debugdeltachain(ui, repo, file_=None' | |||
|
797 | 806 | |
|
798 | 807 | The sparse read can be enabled with experimental.sparse-read = True |
|
799 | 808 | """ |
|
809 | revs = None | |
|
810 | revs_opt = opts.pop('rev', []) | |
|
811 | if revs_opt: | |
|
812 | revs = [int(r) for r in revs_opt] | |
|
800 | 813 | revlog = cmdutil.openrevlog( |
|
801 | 814 | repo, b'debugdeltachain', file_, pycompat.byteskwargs(opts) |
|
802 | 815 | ) |
|
803 | 816 | fm = ui.formatter(b'debugdeltachain', pycompat.byteskwargs(opts)) |
|
804 | 817 | |
|
805 | lines = revlog_debug.debug_delta_chain(revlog) | |
|
818 | lines = revlog_debug.debug_delta_chain(revlog, revs=revs) | |
|
806 | 819 | # first entry is the header |
|
807 | 820 | header = next(lines) |
|
808 | 821 | fm.plain(header) |
@@ -801,7 +801,7 b' class DeltaChainAuditor:' | |||
|
801 | 801 | return p1, p2, compsize, uncompsize, deltatype, chain, chain_size |
|
802 | 802 | |
|
803 | 803 | |
|
804 | def debug_delta_chain(revlog): | |
|
804 | def debug_delta_chain(revlog, revs=None): | |
|
805 | 805 | auditor = DeltaChainAuditor(revlog) |
|
806 | 806 | r = revlog |
|
807 | 807 | start = r.start |
@@ -818,8 +818,14 b' def debug_delta_chain(revlog):' | |||
|
818 | 818 | header += b'\n' |
|
819 | 819 | yield header |
|
820 | 820 | |
|
821 | if revs is None: | |
|
822 | all_revs = iter(r) | |
|
823 | else: | |
|
824 | revlog_size = len(r) | |
|
825 | all_revs = sorted(rev for rev in revs if rev < revlog_size) | |
|
826 | ||
|
821 | 827 | chainbases = {} |
|
822 | for rev in r: | |
|
828 | for rev in all_revs: | |
|
823 | 829 | p1, p2, comp, uncomp, deltatype, chain, chainsize = auditor.revinfo(rev) |
|
824 | 830 | chainbase = chain[0] |
|
825 | 831 | chainid = chainbases.setdefault(chainbase, len(chainbases) + 1) |
@@ -296,7 +296,7 b' Show all commands + options' | |||
|
296 | 296 | debugdag: tags, branches, dots, spaces |
|
297 | 297 | debugdata: changelog, manifest, dir |
|
298 | 298 | debugdate: extended |
|
299 | debugdeltachain: changelog, manifest, dir, template | |
|
299 | debugdeltachain: rev, changelog, manifest, dir, template | |
|
300 | 300 | debugdirstateignorepatternshash: |
|
301 | 301 | debugdirstate: nodates, dates, datesort, docket, all |
|
302 | 302 | debugdiscovery: old, nonheads, rev, seed, local-as-revs, remote-as-revs, ssh, remotecmd, insecure, template |
General Comments 0
You need to be logged in to leave comments.
Login now