D6028: branchmap: prevent reading the file twice through different iterators

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Tue Feb 26 14:26:55 UTC 2019


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

REVISION SUMMARY
  Otherwise, test-static-http.t breaks.

REPOSITORY
  rHG Mercurial

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

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
@@ -179,7 +179,7 @@
             if not bcache.validfor(repo):
                 # invalidate the cache
                 raise ValueError(r'tip differs')
-            bcache.load(repo, f)
+            bcache.load(repo, lineiter)
         except (IOError, OSError):
             return None
 
@@ -198,10 +198,10 @@
 
         return bcache
 
-    def load(self, repo, f):
-        """ fully loads the branchcache by reading from the file f """
+    def load(self, repo, lineiter):
+        """ fully loads the branchcache by reading from the file using the line
+        iterator passed"""
         cl = repo.changelog
-        lineiter = iter(f)
         for line in lineiter:
             line = line.rstrip('\n')
             if not line:



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


More information about the Mercurial-devel mailing list