comparison mercurial/unionrepo.py @ 28222:b966e35aad78 stable

unionrepo: properly handle hidden linkrev in revlog (issue5070) The unionrepository have to do some special magic to handle linkrev of the unioned filerev and manifestrev. 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 23:36:04 +0100
parents 443848eece18
children 1767723f71cf
comparison
equal deleted inserted replaced
28221:7a8c44844f57 28222:b966e35aad78
209 return self.changelog.rev(node) 209 return self.changelog.rev(node)
210 210
211 @localrepo.unfilteredpropertycache 211 @localrepo.unfilteredpropertycache
212 def manifest(self): 212 def manifest(self):
213 return unionmanifest(self.svfs, self.repo2.svfs, 213 return unionmanifest(self.svfs, self.repo2.svfs,
214 self._clrev) 214 self.unfiltered()._clrev)
215 215
216 def url(self): 216 def url(self):
217 return self._url 217 return self._url
218 218
219 def file(self, f): 219 def file(self, f):
220 return unionfilelog(self.svfs, f, self.repo2.svfs, 220 return unionfilelog(self.svfs, f, self.repo2.svfs,
221 self._clrev, self) 221 self.unfiltered()._clrev, self)
222 222
223 def close(self): 223 def close(self):
224 self.repo2.close() 224 self.repo2.close()
225 225
226 def cancopy(self): 226 def cancopy(self):