mercurial/repoview.py
changeset 50928 d718eddf01d9
parent 50772 1680ef94ad2b
child 50929 18c8c18993f0
equal deleted inserted replaced
50927:7a8ea1397816 50928:d718eddf01d9
   294         """raise the appropriate error if 'revs' contains a filtered revision
   294         """raise the appropriate error if 'revs' contains a filtered revision
   295 
   295 
   296         This returns a version of 'revs' to be used thereafter by the caller.
   296         This returns a version of 'revs' to be used thereafter by the caller.
   297         In particular, if revs is an iterator, it is converted into a set.
   297         In particular, if revs is an iterator, it is converted into a set.
   298         """
   298         """
   299         safehasattr = util.safehasattr
   299         if hasattr(revs, '__next__'):
   300         if safehasattr(revs, '__next__'):
       
   301             # Note that inspect.isgenerator() is not true for iterators,
   300             # Note that inspect.isgenerator() is not true for iterators,
   302             revs = set(revs)
   301             revs = set(revs)
   303 
   302 
   304         filteredrevs = self.filteredrevs
   303         filteredrevs = self.filteredrevs
   305         if safehasattr(revs, 'first'):  # smartset
   304         if hasattr(revs, 'first'):  # smartset
   306             offenders = revs & filteredrevs
   305             offenders = revs & filteredrevs
   307         else:
   306         else:
   308             offenders = filteredrevs.intersection(revs)
   307             offenders = filteredrevs.intersection(revs)
   309 
   308 
   310         for rev in offenders:
   309         for rev in offenders: