From 1760b1e09365f6498b84ec1c5ca58d7e5be62951 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Mon, 22 Oct 2012 14:29:34 +0200 Subject: [PATCH] Prevent CompositeRepository instances from being nested --- src/Composer/Repository/CompositeRepository.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Composer/Repository/CompositeRepository.php b/src/Composer/Repository/CompositeRepository.php index d6e49763c..3467f04d9 100644 --- a/src/Composer/Repository/CompositeRepository.php +++ b/src/Composer/Repository/CompositeRepository.php @@ -33,7 +33,10 @@ class CompositeRepository implements RepositoryInterface */ public function __construct(array $repositories) { - $this->repositories = $repositories; + $this->repositories = array(); + foreach ($repositories as $repo) { + $this->addRepository($repo); + } } /** @@ -150,6 +153,12 @@ class CompositeRepository implements RepositoryInterface */ public function addRepository(RepositoryInterface $repository) { - $this->repositories[] = $repository; + if ($repository instanceof self) { + foreach ($repository->getRepositories() as $repo) { + $this->addRepository($repo); + } + } else { + $this->repositories[] = $repository; + } } }