stabletailgraph: clarify excl part size computation
authorpacien <pacien.trangirard@pacien.net>
Mon, 22 May 2023 19:04:05 +0200
changeset 50526 4fd2f7ab4177
parent 50525 1a4f54574e3d
child 50527 dc372251d4dc
stabletailgraph: clarify excl part size computation
mercurial/stabletailgraph/stabletailsort.py
--- 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