comparison mercurial/bundlerepo.py @ 28186:5ab6f0fde75f

bundlerepo: properly handle hidden linkrev in filelog (issue4945) The bundlerepository have to do some special magic to handle linkrev of the bundlerepo filerev. That logic was done from a repoview and obsolescence marker affecting bundled changeset could lead to a crash. We now ensure we operate on unfiltered repository.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 22 Feb 2016 18:35:40 +0100
parents 88609cfa3745
children 7a8c44844f57
comparison
equal deleted inserted replaced
28185:c7e8948627f3 28186:5ab6f0fde75f
360 if not c: 360 if not c:
361 break 361 break
362 362
363 if f in self.bundlefilespos: 363 if f in self.bundlefilespos:
364 self.bundle.seek(self.bundlefilespos[f]) 364 self.bundle.seek(self.bundlefilespos[f])
365 return bundlefilelog(self.svfs, f, self.bundle, self.changelog.rev) 365 linkmapper = self.unfiltered().changelog.rev
366 return bundlefilelog(self.svfs, f, self.bundle, linkmapper)
366 else: 367 else:
367 return filelog.filelog(self.svfs, f) 368 return filelog.filelog(self.svfs, f)
368 369
369 def close(self): 370 def close(self):
370 """Close assigned bundle file immediately.""" 371 """Close assigned bundle file immediately."""