Patchwork D6311: branchcache: store the maximum tip in a variable inside for loop

login
register
mail settings
Submitter phabricator
Date April 28, 2019, 8:39 a.m.
Message ID <f01486cda354828ce284a63cfd407b1c@localhost.localdomain>
Download mbox | patch
Permalink /patch/39882/
State Not Applicable
Headers show

Comments

phabricator - April 28, 2019, 8:39 a.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG9893d7aa7420: branchcache: store the maximum tip in a variable inside for loop (authored by pulkit, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6311?vs=14926&id=14954

REVISION DETAIL
  https://phab.mercurial-scm.org/D6311

AFFECTED FILES
  mercurial/branchmap.py

CHANGE DETAILS




To: pulkit, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -378,6 +378,10 @@ 
         # fetch current topological heads to speed up filtering
         topoheads = set(cl.headrevs())
 
+        # new tip revision which we found after iterating items from new
+        # branches
+        ntiprev = self.tiprev
+
         # if older branchheads are reachable from new ones, they aren't
         # really branchheads. Note checking parents is insufficient:
         # 1 (branch a) -> 2 (branch b) -> 3 (branch a)
@@ -401,9 +405,12 @@ 
             bheadrevs = sorted(bheadset)
             self[branch] = [cl.node(rev) for rev in bheadrevs]
             tiprev = bheadrevs[-1]
-            if tiprev > self.tiprev:
-                self.tipnode = cl.node(tiprev)
-                self.tiprev = tiprev
+            if tiprev > ntiprev:
+                ntiprev = tiprev
+
+        if ntiprev > self.tiprev:
+            self.tiprev = ntiprev
+            self.tipnode = cl.node(ntiprev)
 
         if not self.validfor(repo):
             # cache key are not valid anymore