Mercurial > public > mercurial-scm > hg-stable
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): |