changeset 28221:7a8c44844f57 stable

bundlerepo: properly handle hidden linkrev in manifestlog (issue4945) The bundlerepository have to do some special magic to handle linkrev of the bundled manifest. 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:34:54 +0100
parents 0209bdd553b9
children b966e35aad78
files mercurial/bundlerepo.py
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/bundlerepo.py	Mon Feb 22 18:35:40 2016 +0100
+++ b/mercurial/bundlerepo.py	Mon Feb 22 23:34:54 2016 +0100
@@ -325,7 +325,8 @@
         self.bundle.seek(self.manstart)
         # consume the header if it exists
         self.bundle.manifestheader()
-        m = bundlemanifest(self.svfs, self.bundle, self.changelog.rev)
+        linkmapper = self.unfiltered().changelog.rev
+        m = bundlemanifest(self.svfs, self.bundle, linkmapper)
         # XXX: hack to work with changegroup3, but we still don't handle
         # tree manifests correctly
         if self.bundle.version == "03":