14 > if 2 in subset: |
14 > if 2 in subset: |
15 > return baseset([2,2]) |
15 > return baseset([2,2]) |
16 > return baseset() |
16 > return baseset() |
17 > return baseset([3,3,2,2]) |
17 > return baseset([3,3,2,2]) |
18 > |
18 > |
19 > mercurial.revset.symbols['r3232'] = r3232 |
19 > mercurial.revset.symbols[b'r3232'] = r3232 |
20 > EOF |
20 > EOF |
21 $ cat >> $HGRCPATH << EOF |
21 $ cat >> $HGRCPATH << EOF |
22 > [extensions] |
22 > [extensions] |
23 > drawdag=$TESTDIR/drawdag.py |
23 > drawdag=$TESTDIR/drawdag.py |
24 > testrevset=$TESTTMP/testrevset.py |
24 > testrevset=$TESTTMP/testrevset.py |
45 > smartset, |
45 > smartset, |
46 > ) |
46 > ) |
47 > cmdtable = {} |
47 > cmdtable = {} |
48 > command = registrar.command(cmdtable) |
48 > command = registrar.command(cmdtable) |
49 > @command(b'debugrevlistspec', |
49 > @command(b'debugrevlistspec', |
50 > [('', 'optimize', None, 'print parsed tree after optimizing'), |
50 > [(b'', b'optimize', None, b'print parsed tree after optimizing'), |
51 > ('', 'bin', None, 'unhexlify arguments')]) |
51 > (b'', b'bin', None, b'unhexlify arguments')]) |
52 > def debugrevlistspec(ui, repo, fmt, *args, **opts): |
52 > def debugrevlistspec(ui, repo, fmt, *args, **opts): |
53 > if opts['bin']: |
53 > if opts['bin']: |
54 > args = map(nodemod.bin, args) |
54 > args = map(nodemod.bin, args) |
55 > expr = revsetlang.formatspec(fmt, list(args)) |
55 > expr = revsetlang.formatspec(fmt, list(args)) |
56 > if ui.verbose: |
56 > if ui.verbose: |
57 > tree = revsetlang.parse(expr, lookup=repo.__contains__) |
57 > tree = revsetlang.parse(expr, lookup=repo.__contains__) |
58 > ui.note(revsetlang.prettyformat(tree), "\n") |
58 > ui.note(revsetlang.prettyformat(tree), "\n") |
59 > if opts["optimize"]: |
59 > if opts["optimize"]: |
60 > opttree = revsetlang.optimize(revsetlang.analyze(tree)) |
60 > opttree = revsetlang.optimize(revsetlang.analyze(tree)) |
61 > ui.note("* optimized:\n", revsetlang.prettyformat(opttree), |
61 > ui.note(b"* optimized:\n", revsetlang.prettyformat(opttree), |
62 > "\n") |
62 > b"\n") |
63 > func = revset.match(ui, expr, repo) |
63 > func = revset.match(ui, expr, repo) |
64 > revs = func(repo) |
64 > revs = func(repo) |
65 > if ui.verbose: |
65 > if ui.verbose: |
66 > ui.note("* set:\n", smartset.prettyformat(revs), "\n") |
66 > ui.note(b"* set:\n", smartset.prettyformat(revs), b"\n") |
67 > for c in revs: |
67 > for c in revs: |
68 > ui.write("%s\n" % c) |
68 > ui.write(b"%s\n" % c) |
69 > EOF |
69 > EOF |
70 $ cat <<EOF >> $HGRCPATH |
70 $ cat <<EOF >> $HGRCPATH |
71 > [extensions] |
71 > [extensions] |
72 > debugrevlistspec = $TESTTMP/debugrevlistspec.py |
72 > debugrevlistspec = $TESTTMP/debugrevlistspec.py |
73 > EOF |
73 > EOF |