Fix case where branches cannot be listed in GitDownloader, fixes #10888
parent
14476ec2a6
commit
5c68c2c86d
|
@ -458,7 +458,7 @@ class GitDownloader extends VcsDownloader implements DvcsDownloaderInterface
|
||||||
// check whether non-commitish are branches or tags, and fetch branches with the remote name
|
// check whether non-commitish are branches or tags, and fetch branches with the remote name
|
||||||
$gitRef = $reference;
|
$gitRef = $reference;
|
||||||
if (!Preg::isMatch('{^[a-f0-9]{40}$}', $reference)
|
if (!Preg::isMatch('{^[a-f0-9]{40}$}', $reference)
|
||||||
&& $branches
|
&& null !== $branches
|
||||||
&& Preg::isMatch('{^\s+composer/'.preg_quote($reference).'$}m', $branches)
|
&& Preg::isMatch('{^\s+composer/'.preg_quote($reference).'$}m', $branches)
|
||||||
) {
|
) {
|
||||||
$command = sprintf('git checkout '.$force.'-B %s %s -- && git reset --hard %2$s --', ProcessExecutor::escape($branch), ProcessExecutor::escape('composer/'.$reference));
|
$command = sprintf('git checkout '.$force.'-B %s %s -- && git reset --hard %2$s --', ProcessExecutor::escape($branch), ProcessExecutor::escape('composer/'.$reference));
|
||||||
|
@ -470,7 +470,7 @@ class GitDownloader extends VcsDownloader implements DvcsDownloaderInterface
|
||||||
// try to checkout branch by name and then reset it so it's on the proper branch name
|
// try to checkout branch by name and then reset it so it's on the proper branch name
|
||||||
if (Preg::isMatch('{^[a-f0-9]{40}$}', $reference)) {
|
if (Preg::isMatch('{^[a-f0-9]{40}$}', $reference)) {
|
||||||
// add 'v' in front of the branch if it was stripped when generating the pretty name
|
// add 'v' in front of the branch if it was stripped when generating the pretty name
|
||||||
if (!Preg::isMatch('{^\s+composer/'.preg_quote($branch).'$}m', $branches) && Preg::isMatch('{^\s+composer/v'.preg_quote($branch).'$}m', $branches)) {
|
if (null !== $branches && !Preg::isMatch('{^\s+composer/'.preg_quote($branch).'$}m', $branches) && Preg::isMatch('{^\s+composer/v'.preg_quote($branch).'$}m', $branches)) {
|
||||||
$branch = 'v' . $branch;
|
$branch = 'v' . $branch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,9 +192,9 @@ class AuthHelper
|
||||||
// fail if the console is not interactive
|
// fail if the console is not interactive
|
||||||
if (!$this->io->isInteractive()) {
|
if (!$this->io->isInteractive()) {
|
||||||
if ($statusCode === 401) {
|
if ($statusCode === 401) {
|
||||||
$message = "The '" . $url . "' URL required authentication.\nYou must be using the interactive console to authenticate";
|
$message = "The '" . $url . "' URL required authentication (HTTP 401).\nYou must be using the interactive console to authenticate";
|
||||||
} elseif ($statusCode === 403) {
|
} elseif ($statusCode === 403) {
|
||||||
$message = "The '" . $url . "' URL could not be accessed: " . $reason;
|
$message = "The '" . $url . "' URL could not be accessed (HTTP 403): " . $reason;
|
||||||
} else {
|
} else {
|
||||||
$message = "Unknown error code '" . $statusCode . "', reason: " . $reason;
|
$message = "Unknown error code '" . $statusCode . "', reason: " . $reason;
|
||||||
}
|
}
|
||||||
|
@ -210,7 +210,7 @@ class AuthHelper
|
||||||
return array('retry' => true, 'storeAuth' => false);
|
return array('retry' => true, 'storeAuth' => false);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new TransportException("Invalid credentials for '" . $url . "', aborting.", $statusCode);
|
throw new TransportException("Invalid credentials (HTTP $statusCode) for '$url', aborting.", $statusCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->io->writeError(' Authentication required (<info>'.$origin.'</info>):');
|
$this->io->writeError(' Authentication required (<info>'.$origin.'</info>):');
|
||||||
|
|
Loading…
Reference in New Issue