On Mon, 06 Mar 2017 10:36:55 +0100, Pierre-Yves David wrote: > # HG changeset patch > # User Pierre-Yves David <pierre-yves.da...@ens-lyon.org> > # Date 1488546500 -3600 > # Fri Mar 03 14:08:20 2017 +0100 > # Node ID 41ea8aee85ca16d652dfdb4afe37053b291702b4 > # Parent 9d6e733046b9aa7e2ded8c4207625fedcc2a8c04 > # EXP-Topic filesetrev-func > # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ > # hg pull > https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r 41ea8aee85ca > fileset: add a 'status(...)' predicate to control evaluation context
Looks good, thanks. I've marked these as 2nd Review Requested since I was too involved to this series. > +@predicate('status(base, rev, pattern)') > +def status(mctx, x): > + """``status(base, rev, revspec)`` > + > + Evaluate predicate using status change between ``base`` and > + ``rev``. Examples: > + > + - ``status(3, 7, added())`` - matches files added from "3" to "7" > + """ > + repo = mctx.ctx.repo() > + # i18n: "status" is a keyword > + b, r, x = getargs(x, 3, 3, _("status takes three arguments")) > + # i18n: "status" is a keyword > + baseerr = _("first argument to status must be a revision") > + baserevspec = getstring(b, baseerr) > + if not baserevspec: > + raise error.ParseError(baseerr) Nit: need to insert "# i18n: "status" is a keyword" comment here. > + reverr = _("second argument to status must be a revision") > + revspec = getstring(r, reverr) > + if not revspec: > + raise error.ParseError(reverr) > + basenode, node = scmutil.revpair(repo, [baserevspec, revspec]) > + basectx = repo[basenode] > + ctx = repo[node] > + return getset(mctx.switch(ctx, _buildstatus(ctx, x, basectx=basectx)), x) _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel