[PATCH 5 of 7] revset: introduce a filterrevs function

Pierre-Yves David pierre-yves.david at ens-lyon.org
Fri Jun 22 16:23:16 CDT 2012


On 5 juin 2012, at 00:25, Bryan O'Sullivan wrote:

> # HG changeset patch
> # User Bryan O'Sullivan <bryano at fb.com>
> # Date 1338848634 25200
> # Node ID 1fda5b47f842b8b57ee866684aaabcc1052a06e1
> # Parent  115c3e5c708813a9800dfe4938a7c9202a4d00ba
> revset: introduce a filterrevs function

[…]

> +def filterrevs(revs, subset, contig=False):
> +    if not revs:
> +        return revs
> +    subset = revsubset(subset)
> +    try:
> +        if contig or isinstance(revs, (_revinterval, xrange)):
> +            lo, hi = sorted((revs[0], revs[-1]))
> +        else:
> +            lo, hi = min(revs), max(revs)
> +        if subset._start <= lo and subset._stop > hi:
> +            return revs
> +    except (AttributeError, TypeError, KeyError):
> +        pass
> +    return filter(subset.__contains__, revs)
> +

I'm pretty sure this function wants a docstring.

-- 
Pierre-Yves


More information about the Mercurial-devel mailing list