diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -444,7 +444,10 @@ class revlog(object): i = '' try: f = self.opener(self.indexfile) - i = f.read(_prereadsize) + if "nonlazy" in getattr(self.opener, 'options', {}): + i = f.read() + else: + i = f.read(_prereadsize) if len(i) > 0: v = struct.unpack(versionformat, i[:4])[0] except IOError, inst: diff --git a/mercurial/statichttprepo.py b/mercurial/statichttprepo.py --- a/mercurial/statichttprepo.py +++ b/mercurial/statichttprepo.py @@ -77,6 +77,7 @@ def build_opener(ui, authinfo): return httprangereader(f, urlopener) return o + opener.options = {'nonlazy': 1} return opener class statichttprepository(localrepo.localrepository):