1
0
Fork 0

Fix conversion of repo format in config command, fixes #6245, closes #6271

pull/6281/head
Jordi Boggiano 2017-03-17 22:09:51 +01:00
parent 4ba3c741f5
commit 7aeb1b0c41
1 changed files with 15 additions and 0 deletions

View File

@ -60,6 +60,21 @@ class JsonConfigSource implements ConfigSourceInterface
public function addRepository($name, $config)
{
$this->manipulateJson('addRepository', $name, $config, function (&$config, $repo, $repoConfig) {
// if converting from an array format to hashmap format, and there is a {"packagist.org":false} repo, we have
// to convert it to "packagist.org": false key on the hashmap otherwise it fails schema validation
if (isset($config['repositories'])) {
foreach ($config['repositories'] as $index => $val) {
if ($index === $repo) {
continue;
}
if (is_numeric($index) && ($val === array('packagist' => false) || $val === array('packagist.org' => false))) {
unset($config['repositories'][$index]);
$config['repositories']['packagist.org'] = false;
break;
}
}
}
$config['repositories'][$repo] = $repoConfig;
});
}