mercurial/debugcommands.py
changeset 31024 0b8356705de6
parent 30988 d194f0dba7ac
child 31074 2912b06905dc
equal deleted inserted replaced
31023:aea06029919e 31024:0b8356705de6
    50     pvec,
    50     pvec,
    51     pycompat,
    51     pycompat,
    52     repair,
    52     repair,
    53     revlog,
    53     revlog,
    54     revset,
    54     revset,
       
    55     revsetlang,
    55     scmutil,
    56     scmutil,
    56     setdiscovery,
    57     setdiscovery,
    57     simplemerge,
    58     simplemerge,
    58     smartset,
    59     smartset,
    59     sslutil,
    60     sslutil,
  1792     Use --verify-optimized to compare the optimized result with the unoptimized
  1793     Use --verify-optimized to compare the optimized result with the unoptimized
  1793     one. Returns 1 if the optimized result differs.
  1794     one. Returns 1 if the optimized result differs.
  1794     """
  1795     """
  1795     stages = [
  1796     stages = [
  1796         ('parsed', lambda tree: tree),
  1797         ('parsed', lambda tree: tree),
  1797         ('expanded', lambda tree: revset.expandaliases(ui, tree)),
  1798         ('expanded', lambda tree: revsetlang.expandaliases(ui, tree)),
  1798         ('concatenated', revset.foldconcat),
  1799         ('concatenated', revsetlang.foldconcat),
  1799         ('analyzed', revset.analyze),
  1800         ('analyzed', revsetlang.analyze),
  1800         ('optimized', revset.optimize),
  1801         ('optimized', revsetlang.optimize),
  1801     ]
  1802     ]
  1802     if opts['no_optimized']:
  1803     if opts['no_optimized']:
  1803         stages = stages[:-1]
  1804         stages = stages[:-1]
  1804     if opts['verify_optimized'] and opts['no_optimized']:
  1805     if opts['verify_optimized'] and opts['no_optimized']:
  1805         raise error.Abort(_('cannot use --verify-optimized with '
  1806         raise error.Abort(_('cannot use --verify-optimized with '
  1824                 raise error.Abort(_('invalid stage name: %s') % n)
  1825                 raise error.Abort(_('invalid stage name: %s') % n)
  1825         showalways.update(opts['show_stage'])
  1826         showalways.update(opts['show_stage'])
  1826 
  1827 
  1827     treebystage = {}
  1828     treebystage = {}
  1828     printedtree = None
  1829     printedtree = None
  1829     tree = revset.parse(expr, lookup=repo.__contains__)
  1830     tree = revsetlang.parse(expr, lookup=repo.__contains__)
  1830     for n, f in stages:
  1831     for n, f in stages:
  1831         treebystage[n] = tree = f(tree)
  1832         treebystage[n] = tree = f(tree)
  1832         if n in showalways or (n in showchanged and tree != printedtree):
  1833         if n in showalways or (n in showchanged and tree != printedtree):
  1833             if opts['show_stage'] or n != 'parsed':
  1834             if opts['show_stage'] or n != 'parsed':
  1834                 ui.write(("* %s:\n") % n)
  1835                 ui.write(("* %s:\n") % n)
  1835             ui.write(revset.prettyformat(tree), "\n")
  1836             ui.write(revsetlang.prettyformat(tree), "\n")
  1836             printedtree = tree
  1837             printedtree = tree
  1837 
  1838 
  1838     if opts['verify_optimized']:
  1839     if opts['verify_optimized']:
  1839         arevs = revset.makematcher(treebystage['analyzed'])(repo)
  1840         arevs = revset.makematcher(treebystage['analyzed'])(repo)
  1840         brevs = revset.makematcher(treebystage['optimized'])(repo)
  1841         brevs = revset.makematcher(treebystage['optimized'])(repo)