mercurial/revset.py
changeset 17753 69d5078d760d
parent 17675 8575f4a2126e
child 17785 ac5c9c8046f7
equal deleted inserted replaced
17752:76b73ce0ffac 17753:69d5078d760d
   916     # i18n: "merge" is a keyword
   916     # i18n: "merge" is a keyword
   917     getargs(x, 0, 0, _("merge takes no arguments"))
   917     getargs(x, 0, 0, _("merge takes no arguments"))
   918     cl = repo.changelog
   918     cl = repo.changelog
   919     return [r for r in subset if cl.parentrevs(r)[1] != -1]
   919     return [r for r in subset if cl.parentrevs(r)[1] != -1]
   920 
   920 
       
   921 def branchpoint(repo, subset, x):
       
   922     """``branchpoint()``
       
   923     Changesets with more than one child.
       
   924     """
       
   925     # i18n: "branchpoint" is a keyword
       
   926     getargs(x, 0, 0, _("branchpoint takes no arguments"))
       
   927     cl = repo.changelog
       
   928     if not subset:
       
   929         return []
       
   930     baserev = min(subset)
       
   931     parentscount = [0]*(len(repo) - baserev)
       
   932     for r in xrange(baserev + 1, len(repo)):
       
   933         for p in cl.parentrevs(r):
       
   934             if p >= baserev:
       
   935                 parentscount[p - baserev] += 1
       
   936     branchpoints = set((baserev + i) for i in xrange(len(parentscount))
       
   937                        if parentscount[i] > 1)
       
   938     return [r for r in subset if r in branchpoints]
       
   939 
   921 def minrev(repo, subset, x):
   940 def minrev(repo, subset, x):
   922     """``min(set)``
   941     """``min(set)``
   923     Changeset with lowest revision number in set.
   942     Changeset with lowest revision number in set.
   924     """
   943     """
   925     os = getset(repo, list(repo), x)
   944     os = getset(repo, list(repo), x)
  1472     "author": author,
  1491     "author": author,
  1473     "bisect": bisect,
  1492     "bisect": bisect,
  1474     "bisected": bisected,
  1493     "bisected": bisected,
  1475     "bookmark": bookmark,
  1494     "bookmark": bookmark,
  1476     "branch": branch,
  1495     "branch": branch,
       
  1496     "branchpoint": branchpoint,
  1477     "children": children,
  1497     "children": children,
  1478     "closed": closed,
  1498     "closed": closed,
  1479     "contains": contains,
  1499     "contains": contains,
  1480     "converted": converted,
  1500     "converted": converted,
  1481     "date": date,
  1501     "date": date,