Mercurial > public > mercurial-scm > hg
comparison mercurial/revlog.py @ 48855:6ea9ead59cf8
revlog: use rust rank computation if available
Differential Revision: https://phab.mercurial-scm.org/D12212
author | pacien <pacien.trangirard@pacien.net> |
---|---|
date | Mon, 21 Feb 2022 16:18:39 +0100 |
parents | d739cd69bb6a |
children | 6000f5b25c9b |
comparison
equal
deleted
inserted
replaced
48854:8b8054b8e5a7 | 48855:6ea9ead59cf8 |
---|---|
2469 elif p1r != nullrev and p2r == nullrev: | 2469 elif p1r != nullrev and p2r == nullrev: |
2470 rank = 1 + self.fast_rank(p1r) | 2470 rank = 1 + self.fast_rank(p1r) |
2471 elif p1r == nullrev and p2r != nullrev: | 2471 elif p1r == nullrev and p2r != nullrev: |
2472 rank = 1 + self.fast_rank(p2r) | 2472 rank = 1 + self.fast_rank(p2r) |
2473 else: # merge node | 2473 else: # merge node |
2474 pmin, pmax = sorted((p1r, p2r)) | 2474 if rustdagop is not None and self.index.rust_ext_compat: |
2475 rank = 1 + self.fast_rank(pmax) | 2475 rank = rustdagop.rank(self.index, p1r, p2r) |
2476 rank += sum(1 for _ in self.findmissingrevs([pmax], [pmin])) | 2476 else: |
2477 pmin, pmax = sorted((p1r, p2r)) | |
2478 rank = 1 + self.fast_rank(pmax) | |
2479 rank += sum(1 for _ in self.findmissingrevs([pmax], [pmin])) | |
2477 | 2480 |
2478 e = revlogutils.entry( | 2481 e = revlogutils.entry( |
2479 flags=flags, | 2482 flags=flags, |
2480 data_offset=offset, | 2483 data_offset=offset, |
2481 data_compressed_length=deltainfo.deltalen, | 2484 data_compressed_length=deltainfo.deltalen, |