Fix unfixing of packages when a replacer gets unfixed before a replacee, refs #8882
parent
4d75d524f1
commit
1055be7936
|
@ -113,7 +113,7 @@ class PoolBuilder
|
||||||
$request->fixPackage($lockedPackage);
|
$request->fixPackage($lockedPackage);
|
||||||
$lockedName = $lockedPackage->getName();
|
$lockedName = $lockedPackage->getName();
|
||||||
// remember which packages we skipped loading remote content for in this partial update
|
// remember which packages we skipped loading remote content for in this partial update
|
||||||
$this->skippedLoad[$lockedPackage->getName()] = $lockedName;
|
$this->skippedLoad[$lockedName] = $lockedName;
|
||||||
foreach ($lockedPackage->getReplaces() as $link) {
|
foreach ($lockedPackage->getReplaces() as $link) {
|
||||||
$this->skippedLoad[$link->getTarget()] = $lockedName;
|
$this->skippedLoad[$link->getTarget()] = $lockedName;
|
||||||
}
|
}
|
||||||
|
@ -413,8 +413,12 @@ class PoolBuilder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we unfixed a replaced package name, we also need to unfix the replacer itself
|
if (
|
||||||
if ($this->skippedLoad[$name] !== $name) {
|
// if we unfixed a replaced package name, we also need to unfix the replacer itself
|
||||||
|
$this->skippedLoad[$name] !== $name
|
||||||
|
// as long as it was not unfixed yet
|
||||||
|
&& isset($this->skippedLoad[$this->skippedLoad[$name]])
|
||||||
|
) {
|
||||||
$this->unfixPackage($request, $this->skippedLoad[$name]);
|
$this->unfixPackage($request, $this->skippedLoad[$name]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue