Merge pull request #4989 from naderman/t/fix-self-reference-transaction-root

Ignore self references when anlaysing independent root requirements
main
Jordi Boggiano 8 years ago
commit 76450cc2a1

@ -165,7 +165,9 @@ class Transaction
$possibleRequires = $this->pool->whatProvides($link->getTarget(), $link->getConstraint());
foreach ($possibleRequires as $require) {
unset($roots[$require->id]);
if ($require !== $package) {
unset($roots[$require->id]);
}
}
}
}

@ -0,0 +1,36 @@
--TEST--
Circular dependencies are possible between packages
--COMPOSER--
{
"name": "root",
"version": "dev-master",
"require": {
"require/itself": "1.0.0",
"regular/pkg": "1.0.0"
},
"repositories": [
{
"type": "package",
"package": [
{
"name": "require/itself",
"version": "1.0.0",
"source": { "reference": "some.branch", "type": "git", "url": "" },
"require": {
"require/itself": "1.0.0"
}
},
{
"name": "regular/pkg",
"version": "1.0.0",
"source": { "reference": "some.branch", "type": "git", "url": "" }
}
]
}
]
}
--RUN--
update -v
--EXPECT--
Installing require/itself (1.0.0)
Installing regular/pkg (1.0.0)
Loading…
Cancel
Save