Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/debugcommands.py @ 31044:0b8356705de6
revset: split language services to revsetlang module (API)
New revsetlang module hosts parser, tokenizer, and miscellaneous functions
working on parsed tree. It does not include functions for evaluation such as
getset() and match().
2288 mercurial/revset.py
684 mercurial/revsetlang.py
2972 total
get*() functions are aliased since they are common in revset.py.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 19 Feb 2017 18:19:33 +0900 |
parents | d194f0dba7ac |
children | 2912b06905dc |
comparison
equal
deleted
inserted
replaced
31043:aea06029919e | 31044: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) |