mercurial/revset.py
changeset 35904 fc44c2657dc5
parent 35892 00a56c83ab64
child 35914 7a991241f586
equal deleted inserted replaced
35903:1a31111e6239 35904:fc44c2657dc5
   103                 return repo[extra[label]].rev()
   103                 return repo[extra[label]].rev()
   104             except error.RepoLookupError:
   104             except error.RepoLookupError:
   105                 pass
   105                 pass
   106     return None
   106     return None
   107 
   107 
       
   108 def _sortedb(xs):
       
   109     return sorted(util.rapply(pycompat.maybebytestr, xs))
       
   110 
   108 # operator methods
   111 # operator methods
   109 
   112 
   110 def stringset(repo, subset, x, order):
   113 def stringset(repo, subset, x, order):
   111     x = scmutil.intrev(repo[x])
   114     x = scmutil.intrev(repo[x])
   112     if (x in subset
   115     if (x in subset
   505     b = set()
   508     b = set()
   506     for r in s:
   509     for r in s:
   507         b.add(getbranch(r))
   510         b.add(getbranch(r))
   508     c = s.__contains__
   511     c = s.__contains__
   509     return subset.filter(lambda r: c(r) or getbranch(r) in b,
   512     return subset.filter(lambda r: c(r) or getbranch(r) in b,
   510                          condrepr=lambda: '<branch %r>' % sorted(b))
   513                          condrepr=lambda: '<branch %r>' % _sortedb(b))
   511 
   514 
   512 @predicate('phasedivergent()', safe=True)
   515 @predicate('phasedivergent()', safe=True)
   513 def phasedivergent(repo, subset, x):
   516 def phasedivergent(repo, subset, x):
   514     """Mutable changesets marked as successors of public changesets.
   517     """Mutable changesets marked as successors of public changesets.
   515 
   518 
   758 
   761 
   759             r = src
   762             r = src
   760             src = _getrevsource(repo, r)
   763             src = _getrevsource(repo, r)
   761 
   764 
   762     return subset.filter(dests.__contains__,
   765     return subset.filter(dests.__contains__,
   763                          condrepr=lambda: '<destination %r>' % sorted(dests))
   766                          condrepr=lambda: '<destination %r>' % _sortedb(dests))
   764 
   767 
   765 @predicate('contentdivergent()', safe=True)
   768 @predicate('contentdivergent()', safe=True)
   766 def contentdivergent(repo, subset, x):
   769 def contentdivergent(repo, subset, x):
   767     """
   770     """
   768     Final successors of changesets with an alternative set of final
   771     Final successors of changesets with an alternative set of final