# HG changeset patch # User Martin von Zweigbergk # Date 1466791961 25200 # Node ID 33a6b750b5b9e0cc193ae0103420dc80af074352 # Parent 26ac04a39e11dc9e875d3a9682fc99dd8826e217 debug: make debug{revlog,index,data} --dir not just a flag The directory argument (for tree manifests) should belong to to the --dir argument. I had mistakenly made --dir a flag. One effect of this was that I had meant for "-m" to be optional, but instead it changed the behavior of --dir, so with "hg debugdata -m --dir dir1 0", the -m took over and the "dir1" got treated as a revision in the root manifest log. diff -r 26ac04a39e11 -r 33a6b750b5b9 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Fri Jun 24 11:25:55 2016 -0700 +++ b/mercurial/cmdutil.py Fri Jun 24 11:12:41 2016 -0700 @@ -532,7 +532,7 @@ msg = _('cannot specify --changelog and --manifest at the same time') elif cl and dir: msg = _('cannot specify --changelog and --dir at the same time') - elif cl or mf: + elif cl or mf or dir: if file_: msg = _('cannot specify filename with --changelog or --manifest') elif not repo: @@ -549,7 +549,7 @@ if 'treemanifest' not in repo.requirements: raise error.Abort(_("--dir can only be used on repos with " "treemanifest enabled")) - dirlog = repo.dirlog(file_) + dirlog = repo.dirlog(dir) if len(dirlog): r = dirlog elif mf: diff -r 26ac04a39e11 -r 33a6b750b5b9 mercurial/commands.py --- a/mercurial/commands.py Fri Jun 24 11:25:55 2016 -0700 +++ b/mercurial/commands.py Fri Jun 24 11:12:41 2016 -0700 @@ -216,7 +216,7 @@ debugrevlogopts = [ ('c', 'changelog', False, _('open changelog')), ('m', 'manifest', False, _('open manifest')), - ('', 'dir', False, _('open directory manifest')), + ('', 'dir', '', _('open directory manifest')), ] # Commands start here, listed alphabetically @@ -2299,7 +2299,7 @@ @command('debugdata', 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'): + 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_