# HG changeset patch # User Brendan Cully # Date 1188259733 25200 # Node ID 8040f2e4cad04e82cf7b67b7d671024f3a9af90f # Parent a35756389ef4c86a88ac96e23c03ad80b8911775 bundle: fix up lazy reads diff -r a35756389ef4 -r 8040f2e4cad0 mercurial/bundlerepo.py --- a/mercurial/bundlerepo.py Mon Aug 27 15:48:21 2007 -0700 +++ b/mercurial/bundlerepo.py Mon Aug 27 17:08:53 2007 -0700 @@ -199,12 +199,20 @@ def __getattr__(self, name): if name == 'changelog': self.changelog = bundlechangelog(self.sopener, self.bundlefile) + self.manstart = self.bundlefile.tell() return self.changelog if name == 'manifest': + self.bundlefile.seek(self.manstart) self.manifest = bundlemanifest(self.sopener, self.bundlefile, self.changelog.rev) self.filestart = self.bundlefile.tell() return self.manifest + if name == 'manstart': + self.changelog + return self.manstart + if name == 'filestart': + self.manifest + return self.filestart return localrepo.localrepository.__getattr__(self, name) def url(self): @@ -215,7 +223,6 @@ def file(self, f): if not self.bundlefilespos: - self.manifest self.bundlefile.seek(self.filestart) while 1: chunk = changegroup.getchunk(self.bundlefile)