diff --git a/src/Composer/Factory.php b/src/Composer/Factory.php index c3367ba4a..99b5a692b 100644 --- a/src/Composer/Factory.php +++ b/src/Composer/Factory.php @@ -292,6 +292,7 @@ class Factory $rm->setRepositoryClass('pear', 'Composer\Repository\PearRepository'); $rm->setRepositoryClass('git', 'Composer\Repository\VcsRepository'); $rm->setRepositoryClass('svn', 'Composer\Repository\VcsRepository'); + $rm->setRepositoryClass('perforce', 'Composer\Repository\VcsRepository'); $rm->setRepositoryClass('hg', 'Composer\Repository\VcsRepository'); $rm->setRepositoryClass('artifact', 'Composer\Repository\ArtifactRepository'); diff --git a/src/Composer/Repository/Vcs/PerforceDriver.php b/src/Composer/Repository/Vcs/PerforceDriver.php index af20c4667..54e1d3e7d 100644 --- a/src/Composer/Repository/Vcs/PerforceDriver.php +++ b/src/Composer/Repository/Vcs/PerforceDriver.php @@ -160,11 +160,11 @@ class PerforceDriver extends VcsDriver */ public static function supports(IOInterface $io, $url, $deep = false) { - if (false === $deep) { - return false; + if ($deep || preg_match('#\b(perforce|p4)\b#i', $url)) { + return Perforce::checkServerExists($url, new ProcessExecutor); } - - return Perforce::checkServerExists($url, new ProcessExecutor); + + return false; } /**