diff --git a/src/Composer/Repository/Vcs/HgDriver.php b/src/Composer/Repository/Vcs/HgDriver.php index b51dcaf52..eed1ffd6a 100644 --- a/src/Composer/Repository/Vcs/HgDriver.php +++ b/src/Composer/Repository/Vcs/HgDriver.php @@ -172,11 +172,15 @@ class HgDriver implements VcsDriverInterface */ public static function supports($url, $deep = false) { - if ($deep) { - exec(sprintf('hg identify %s', escapeshellarg($url)), $outputIgnored, $exit); - return $exit == 0; - } + if (preg_match('#(^(?:https?|ssh)://(?:[^@]@)?bitbucket.org|https://(?:.*?)\.kilnhg.com)#i', $url)) { + return true; + } + + if (!$deep) { + return false; + } - return false; + exec(sprintf('hg identify %s', escapeshellarg($url)), null, $exit); + return $exit == 0; } } diff --git a/src/Composer/Repository/Vcs/SvnDriver.php b/src/Composer/Repository/Vcs/SvnDriver.php index 23ec54e81..4518660b5 100644 --- a/src/Composer/Repository/Vcs/SvnDriver.php +++ b/src/Composer/Repository/Vcs/SvnDriver.php @@ -174,11 +174,11 @@ class SvnDriver implements VcsDriverInterface return true; } - if ($deep) { - @exec(sprintf('svn info --non-interactive %s 2>/dev/null', escapeshellarg($url)), $outputIgnored, $exit); - return $exit == 0; + if (!$deep) { + return false; } - - return false; + + @exec(sprintf('svn info --non-interactive %s 2>/dev/null', escapeshellarg($url)), null, $exit); + return $exit == 0; } }