branchmap: explicitly convert file into iterator
authorYuya Nishihara <yuya@tcha.org>
Fri, 17 Aug 2018 10:51:05 +0900
changeset 39175 8547c8590ac1
parent 39174 dd1614906a20
child 39176 13a1901176f1
branchmap: explicitly convert file into iterator Follows up 2a4bfbb52111. This is required for httprangereader, which is not an iterable itself.
mercurial/branchmap.py
--- a/mercurial/branchmap.py	Fri Aug 17 10:25:39 2018 +0900
+++ b/mercurial/branchmap.py	Fri Aug 17 10:51:05 2018 +0900
@@ -41,7 +41,8 @@
     f = None
     try:
         f = repo.cachevfs(_filename(repo))
-        cachekey = next(f).rstrip('\n').split(" ", 2)
+        lineiter = iter(f)
+        cachekey = next(lineiter).rstrip('\n').split(" ", 2)
         last, lrev = cachekey[:2]
         last, lrev = bin(last), int(lrev)
         filteredhash = None
@@ -53,7 +54,7 @@
             # invalidate the cache
             raise ValueError(r'tip differs')
         cl = repo.changelog
-        for l in f:
+        for l in lineiter:
             l = l.rstrip('\n')
             if not l:
                 continue