# HG changeset patch # User Yuya Nishihara # Date 1491138092 -32400 # Node ID 35b8bb1ef02bd3f976a901c0c58ba488801b007e # Parent ca3b4a2b7e547ecce806bf85ce2933915bf75c39 revset: stop supporting predicate that returns plain list (API) It's said to be removed after 3.9. diff -r ca3b4a2b7e54 -r 35b8bb1ef02b mercurial/revset.py --- a/mercurial/revset.py Sat Apr 01 12:24:59 2017 +0200 +++ b/mercurial/revset.py Sun Apr 02 22:01:32 2017 +0900 @@ -169,16 +169,7 @@ def getset(repo, subset, x): if not x: raise error.ParseError(_("missing argument")) - s = methods[x[0]](repo, subset, *x[1:]) - if util.safehasattr(s, 'isascending'): - return s - # else case should not happen, because all non-func are internal, - # ignoring for now. - if x[0] == 'func' and x[1][0] == 'symbol' and x[1][1] in symbols: - repo.ui.deprecwarn('revset "%s" uses list instead of smartset' - % x[1][1], - '3.9') - return baseset(s) + return methods[x[0]](repo, subset, *x[1:]) def _getrevsource(repo, r): extra = repo[r].extra() diff -r ca3b4a2b7e54 -r 35b8bb1ef02b tests/test-devel-warnings.t --- a/tests/test-devel-warnings.t Sat Apr 01 12:24:59 2017 +0200 +++ b/tests/test-devel-warnings.t Sun Apr 02 22:01:32 2017 +0900 @@ -3,7 +3,7 @@ > """A small extension that tests our developer warnings > """ > - > from mercurial import cmdutil, repair, revset + > from mercurial import cmdutil, repair > > cmdtable = {} > command = cmdutil.command(cmdtable) @@ -58,11 +58,6 @@ > def foobar(ui): > ui.deprecwarn('foorbar is deprecated, go shopping', '42.1337') > foobar(ui) - > - > def oldstylerevset(repo, subset, x): - > return list(subset) - > - > revset.symbols['oldstyle'] = oldstylerevset > EOF $ cat << EOF >> $HGRCPATH @@ -111,10 +106,6 @@ Traceback (most recent call last): mercurial.error.ProgrammingError: cannot strip from inside a transaction - $ hg log -r "oldstyle()" -T '{rev}\n' - devel-warn: revset "oldstyle" uses list instead of smartset - (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) - 0 $ hg oldanddeprecated devel-warn: foorbar is deprecated, go shopping (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) @@ -135,10 +126,7 @@ */mercurial/dispatch.py:* in (glob) */mercurial/util.py:* in check (glob) $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) - $ hg blackbox -l 9 - 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: revset "oldstyle" uses list instead of smartset - (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) - 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> log -r *oldstyle()* -T *{rev}\n* exited 0 after * seconds (glob) + $ hg blackbox -l 7 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) @@ -160,7 +148,7 @@ */mercurial/util.py:* in check (glob) $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob) - 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 9 + 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 7 Test programming error failure: