mercurial/debugcommands.py
changeset 30515 cdd1885d0f2f
parent 30514 625ccc95fa96
child 30516 ef1353c283e3
--- 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)