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, |