Skip to content

Commit 5dca0e7

Browse files
committed
Fix pruning metadata
1 parent 8a1327c commit 5dca0e7

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/Package/PackageMetadataResolver.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -231,19 +231,18 @@ private function updatePackage(Package $package, array $composerPackages, ?VcsDr
231231

232232
private function updateVersion(Version $version, CompletePackageInterface $data, ?VcsDriverInterface $driver = null): void
233233
{
234+
$currentMetadata = $version->hasCurrentMetadata() ? $version->getCurrentMetadata() : null;
234235
$metadata = $this->createMetadata($version, $data, $driver);
235236

236-
if (!$version->hasCurrentMetadata() || $this->hasMetadataChanged($version->getCurrentMetadata(), $metadata)) {
237-
$existingMetadata = $version->getCurrentMetadata();
238-
237+
if (null === $currentMetadata || $this->hasMetadataChanged($currentMetadata, $metadata)) {
239238
$version->setCurrentMetadata($metadata);
240239

241-
$pruneMetadata = $version->isDevelopment() ? !$this->retainRevisionsDev : !$this->retainRevisionsTagged;
242-
if ($pruneMetadata) {
243-
$this->entityManager->remove($existingMetadata);
244-
}
245-
246240
$this->entityManager->persist($metadata);
241+
242+
$removePreviousMetadata = $version->isDevelopment() ? !$this->retainRevisionsDev : !$this->retainRevisionsTagged;
243+
if (null !== $currentMetadata && $removePreviousMetadata) {
244+
$this->entityManager->remove($currentMetadata);
245+
}
247246
}
248247

249248
$version->setDefaultBranch($data->isDefaultBranch());

0 commit comments

Comments
 (0)