--- a/mercurial/stabletailgraph/stabletailsort.py Fri Apr 21 14:32:58 2023 +0200
+++ b/mercurial/stabletailgraph/stabletailsort.py Mon May 22 19:04:05 2023 +0200
@@ -108,6 +108,9 @@
if a not in tail_ancestors
)
+ # Notice that excl(cur) is disjoint from ancestors(pt),
+ # so there is no double-counting:
+ # rank(cur) = len([cur]) + len(excl(cur)) + rank(pt)
excl_part_size = cl.fast_rank(cursor_rev) - cl.fast_rank(pt) - 1
yield from itertools.islice(exclusive_ancestors, excl_part_size)
cursor_rev = pt