1
0
Fork 0

Provide a fallback to ssh for https bitbucket URLs.

When running in non-interactive mode, there is no way to ask for credentials.
If there are no credentials available, no attempt is made to execute the command.

This commit provides a fallback to SSH for non authenticated, non-interactive install/updates of bitbucket https URLs.
pull/5272/head
Stefan Grootscholten 2016-05-01 11:27:16 +02:00
parent 761d6a549c
commit 591f68288b
1 changed files with 7 additions and 0 deletions

View File

@ -141,6 +141,13 @@ class Git
if (0 === $this->process->execute($command, $ignoredOutput, $cwd)) { if (0 === $this->process->execute($command, $ignoredOutput, $cwd)) {
return; return;
} }
} else { // Falling back to ssh
$sshUrl = 'git@bitbucket.org:' . $match[2] . '.git';
$this->io->writeError(' No bitbucket authentication configured. Falling back to ssh.');
$command = call_user_func($commandCallable, $sshUrl);
if (0 === $this->process->execute($command, $ignoredOutput, $cwd)) {
return;
}
} }
} elseif ($this->isAuthenticationFailure($url, $match)) { // private non-github repo that failed to authenticate } elseif ($this->isAuthenticationFailure($url, $match)) { // private non-github repo that failed to authenticate
if (strpos($match[2], '@')) { if (strpos($match[2], '@')) {