mercurial/revset.py
changeset 13932 34f577007ffe
parent 13915 8f81d6f4047f
child 13938 e44ebd2a142a
equal deleted inserted replaced
13931:c3372529247f 13932:34f577007ffe
   154 
   154 
   155 def andset(repo, subset, x, y):
   155 def andset(repo, subset, x, y):
   156     return getset(repo, getset(repo, subset, x), y)
   156     return getset(repo, getset(repo, subset, x), y)
   157 
   157 
   158 def orset(repo, subset, x, y):
   158 def orset(repo, subset, x, y):
   159     s = set(getset(repo, subset, x))
   159     xl = getset(repo, subset, x)
   160     s |= set(getset(repo, [r for r in subset if r not in s], y))
   160     s = set(xl)
   161     return [r for r in subset if r in s]
   161     yl = getset(repo, [r for r in subset if r not in s], y)
       
   162     return xl + yl
   162 
   163 
   163 def notset(repo, subset, x):
   164 def notset(repo, subset, x):
   164     s = set(getset(repo, subset, x))
   165     s = set(getset(repo, subset, x))
   165     return [r for r in subset if r not in s]
   166     return [r for r in subset if r not in s]
   166 
   167