mercurial/bundlerepo.py
changeset 14287 7c231754a621
parent 14190 8aab5a82685f
child 14412 9ac479758d3b
equal deleted inserted replaced
14286:005a540e9aee 14287:7c231754a621
   148         manifest.manifest.__init__(self, opener)
   148         manifest.manifest.__init__(self, opener)
   149         bundlerevlog.__init__(self, opener, self.indexfile, bundle,
   149         bundlerevlog.__init__(self, opener, self.indexfile, bundle,
   150                               linkmapper)
   150                               linkmapper)
   151 
   151 
   152 class bundlefilelog(bundlerevlog, filelog.filelog):
   152 class bundlefilelog(bundlerevlog, filelog.filelog):
   153     def __init__(self, opener, path, bundle, linkmapper):
   153     def __init__(self, opener, path, bundle, linkmapper, repo):
   154         filelog.filelog.__init__(self, opener, path)
   154         filelog.filelog.__init__(self, opener, path)
   155         bundlerevlog.__init__(self, opener, self.indexfile, bundle,
   155         bundlerevlog.__init__(self, opener, self.indexfile, bundle,
   156                               linkmapper)
   156                               linkmapper)
       
   157         self._repo = repo
       
   158 
       
   159     def _file(self, f):
       
   160         self._repo.file(f)
   157 
   161 
   158 class bundlerepository(localrepo.localrepository):
   162 class bundlerepository(localrepo.localrepository):
   159     def __init__(self, ui, path, bundlename):
   163     def __init__(self, ui, path, bundlename):
   160         self._tempparent = None
   164         self._tempparent = None
   161         try:
   165         try:
   242         if f[0] == '/':
   246         if f[0] == '/':
   243             f = f[1:]
   247             f = f[1:]
   244         if f in self.bundlefilespos:
   248         if f in self.bundlefilespos:
   245             self.bundle.seek(self.bundlefilespos[f])
   249             self.bundle.seek(self.bundlefilespos[f])
   246             return bundlefilelog(self.sopener, f, self.bundle,
   250             return bundlefilelog(self.sopener, f, self.bundle,
   247                                  self.changelog.rev)
   251                                  self.changelog.rev, self)
   248         else:
   252         else:
   249             return filelog.filelog(self.sopener, f)
   253             return filelog.filelog(self.sopener, f)
   250 
   254 
   251     def close(self):
   255     def close(self):
   252         """Close assigned bundle file immediately."""
   256         """Close assigned bundle file immediately."""