diff mercurial/obsutil.py @ 51642:f28c52a9f7b4

exchange: improve computation of relevant markers for large repos Find the candidates for nodes with relevant markers by going over all markers instead of iterating over all nodes. Most nodes will not have markers anyway. Further optimize the code by allowing revsets as well, which reduces the materialization cost.
author Joerg Sonnenberger <joerg@bec.de>
date Tue, 11 Jun 2024 18:47:50 +0200
parents a5d8f261b716
children a0f1378b932e
line wrap: on
line diff
--- a/mercurial/obsutil.py	Wed Jun 12 11:29:11 2024 +0200
+++ b/mercurial/obsutil.py	Tue Jun 11 18:47:50 2024 +0200
@@ -108,7 +108,7 @@
     elif exclusive:
         rawmarkers = exclusivemarkers(repo, nodes)
     else:
-        rawmarkers = repo.obsstore.relevantmarkers(nodes)
+        rawmarkers = repo.obsstore.relevantmarkers(nodes=nodes)
 
     for markerdata in rawmarkers:
         yield marker(repo, markerdata)