D6312: branchcache: update the filteredhash if we update the tiprev

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Fri Apr 26 19:22:57 EDT 2019


pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  We update the tiprev and in next if statement we check whether the branchcache
  is valid or not. If the update of tiprev happens, then definitely
  self.validfor() will return False because filteredhash is old now.
  
  Let's update the filteredhash if we update the tiprev also. This prevents us
  from entering the loop where we iter all the heads, and find the tiprev.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/branchmap.py

CHANGE DETAILS

diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -411,6 +411,7 @@
         if ntiprev > self.tiprev:
             self.tiprev = ntiprev
             self.tipnode = cl.node(ntiprev)
+            self.filteredhash = scmutil.filteredhash(repo, self.tiprev)
 
         if not self.validfor(repo):
             # cache key are not valid anymore



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


More information about the Mercurial-devel mailing list