# HG changeset patch # User Pierre-Yves David # Date 2015-09-23 07:41:07 # Node ID 428a8747f4eeabe36efc411d216bbe0e39faae12 # Parent d157e1f18e3f529006217e1584edeec1d9288485 revset: avoid implicit None testing in revset Implicit None testing is a very good way to get in trouble. We explicitly test for None. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -3225,10 +3225,13 @@ class filteredset(abstractsmartset): return lambda: self._iterfilter(it()) def __nonzero__(self): - it = self - fast = self.fastasc or self.fastdesc - if fast: + fast = self.fastasc + if fast is None: + fast = self.fastdesc + if fast is not None: it = fast() + else: + it = self for r in it: return True