diff -r 625ccc95fa96 -r cdd1885d0f2f mercurial/debugcommands.py --- a/mercurial/debugcommands.py Wed Aug 17 20:41:54 2016 -0700 +++ b/mercurial/debugcommands.py Wed Aug 17 20:43:05 2016 -0700 @@ -419,3 +419,18 @@ maxlinewidth=70): ui.write(line) ui.write("\n") + +@command('debugdata', commands.debugrevlogopts, _('-c|-m|FILE REV')) +def debugdata(ui, repo, file_, rev=None, **opts): + """dump the contents of a data file revision""" + if opts.get('changelog') or opts.get('manifest') or opts.get('dir'): + if rev is not None: + raise error.CommandError('debugdata', _('invalid arguments')) + file_, rev = None, file_ + elif rev is None: + raise error.CommandError('debugdata', _('invalid arguments')) + r = cmdutil.openrevlog(repo, 'debugdata', file_, opts) + try: + ui.write(r.revision(r.lookup(rev))) + except KeyError: + raise error.Abort(_('invalid revision identifier %s') % rev)