Mercurial > public > mercurial-scm > hg-stable
diff mercurial/cmdutil.py @ 25119:49c583ca48c4
treemanifest: add --dir option to debug{revlog,data,index}
It should be possible to debug the submanifest revlogs without having
to know where they are stored (in .hg/store/meta/), so let's add a
--dir option for this purpose.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sun, 12 Apr 2015 23:51:06 -0700 |
parents | d6e7ac651973 |
children | fb7b9a765bb9 |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Sun May 10 06:48:08 2015 -0700 +++ b/mercurial/cmdutil.py Sun Apr 12 23:51:06 2015 -0700 @@ -450,14 +450,17 @@ """opens the changelog, manifest, a filelog or a given revlog""" cl = opts['changelog'] mf = opts['manifest'] + dir = opts['dir'] msg = None if cl and mf: 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: if file_: msg = _('cannot specify filename with --changelog or --manifest') elif not repo: - msg = _('cannot specify --changelog or --manifest ' + msg = _('cannot specify --changelog or --manifest or --dir ' 'without a repository') if msg: raise util.Abort(msg) @@ -466,6 +469,13 @@ if repo: if cl: r = repo.unfiltered().changelog + elif dir: + if 'treemanifest' not in repo.requirements: + raise util.Abort(_("--dir can only be used on repos with " + "treemanifest enabled")) + dirlog = repo.dirlog(file_) + if len(dirlog): + r = dirlog elif mf: r = repo.manifest elif file_: