equal
deleted
inserted
replaced
744 ui.writenoi18n(b"match: %s\n" % m(d[0])) |
744 ui.writenoi18n(b"match: %s\n" % m(d[0])) |
745 |
745 |
746 |
746 |
747 @command( |
747 @command( |
748 b'debugdeltachain', |
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 _(b'-c|-m|FILE'), |
759 _(b'-c|-m|FILE'), |
751 optionalrepo=True, |
760 optionalrepo=True, |
752 ) |
761 ) |
753 def debugdeltachain(ui, repo, file_=None, **opts): |
762 def debugdeltachain(ui, repo, file_=None, **opts): |
754 """dump information about delta chains in a revlog |
763 """dump information about delta chains in a revlog |
795 :``readdensity``: density of useful bytes in the data read from the disk |
804 :``readdensity``: density of useful bytes in the data read from the disk |
796 :``srchunks``: in how many data hunks the whole revision would be read |
805 :``srchunks``: in how many data hunks the whole revision would be read |
797 |
806 |
798 The sparse read can be enabled with experimental.sparse-read = True |
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 revlog = cmdutil.openrevlog( |
813 revlog = cmdutil.openrevlog( |
801 repo, b'debugdeltachain', file_, pycompat.byteskwargs(opts) |
814 repo, b'debugdeltachain', file_, pycompat.byteskwargs(opts) |
802 ) |
815 ) |
803 fm = ui.formatter(b'debugdeltachain', pycompat.byteskwargs(opts)) |
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 # first entry is the header |
819 # first entry is the header |
807 header = next(lines) |
820 header = next(lines) |
808 fm.plain(header) |
821 fm.plain(header) |
809 for entry in lines: |
822 for entry in lines: |
810 label = b' '.join(e[0] for e in entry) |
823 label = b' '.join(e[0] for e in entry) |