diff --git a/src/Composer/Repository/VcsRepository.php b/src/Composer/Repository/VcsRepository.php index 481701d86..2d56efec6 100644 --- a/src/Composer/Repository/VcsRepository.php +++ b/src/Composer/Repository/VcsRepository.php @@ -13,31 +13,37 @@ class VcsRepository extends ArrayRepository { protected $url; protected $packageName; + protected $debug; - public function __construct(array $config) + public function __construct(array $config, array $drivers = null) { if (!filter_var($config['url'], FILTER_VALIDATE_URL)) { throw new \UnexpectedValueException('Invalid url given for PEAR repository: '.$config['url']); } + $this->drivers = $drivers ?: array( + 'Composer\Repository\Vcs\GitHubDriver', + 'Composer\Repository\Vcs\GitBitbucketDriver', + 'Composer\Repository\Vcs\GitDriver', + 'Composer\Repository\Vcs\HgBitbucketDriver', + 'Composer\Repository\Vcs\HgDriver', + ); + $this->url = $config['url']; } + public function setDebug($debug) + { + $this->debug = $debug; + } + protected function initialize() { parent::initialize(); - $debug = false; - - $drivers = array( - 'Composer\Repository\Vcs\GitHubDriver', - 'Composer\Repository\Vcs\GitBitbucketDriver', - 'Composer\Repository\Vcs\GitDriver', - 'Composer\Repository\Vcs\HgBitbucketDriver', - 'Composer\Repository\Vcs\HgDriver', - ); + $debug = $this->debug; - foreach ($drivers as $driver) { + foreach ($this->drivers as $driver) { if ($driver::supports($this->url)) { $driver = new $driver($this->url); $driver->initialize();