Revert previous change, use GIT_ASKPASS env var instead
parent
4ee1ff46a8
commit
656feda837
|
@ -25,9 +25,11 @@ class GitDownloader extends VcsDownloader
|
||||||
public function doDownload(PackageInterface $package, $path)
|
public function doDownload(PackageInterface $package, $path)
|
||||||
{
|
{
|
||||||
$ref = $package->getSourceReference();
|
$ref = $package->getSourceReference();
|
||||||
$command = 'git clone -c core.askpass=echo %s %s && cd %2$s && git remote add composer %1$s && git fetch composer';
|
$command = 'git clone %s %s && cd %2$s && git remote add composer %1$s && git fetch composer';
|
||||||
$this->io->write(" Cloning ".$ref);
|
$this->io->write(" Cloning ".$ref);
|
||||||
|
|
||||||
|
// added in git 1.7.1, prevents prompting the user
|
||||||
|
putenv('GIT_ASKPASS=echo');
|
||||||
$commandCallable = function($url) use ($ref, $path, $command) {
|
$commandCallable = function($url) use ($ref, $path, $command) {
|
||||||
return sprintf($command, escapeshellarg($url), escapeshellarg($path), escapeshellarg($ref));
|
return sprintf($command, escapeshellarg($url), escapeshellarg($path), escapeshellarg($ref));
|
||||||
};
|
};
|
||||||
|
|
|
@ -48,7 +48,9 @@ class GitDriver extends VcsDriver
|
||||||
$fs = new Filesystem();
|
$fs = new Filesystem();
|
||||||
$fs->removeDirectory($this->repoDir);
|
$fs->removeDirectory($this->repoDir);
|
||||||
|
|
||||||
$command = sprintf('git clone -c core.askpass=echo --mirror %s %s', escapeshellarg($this->url), escapeshellarg($this->repoDir));
|
// added in git 1.7.1, prevents prompting the user
|
||||||
|
putenv('GIT_ASKPASS=echo');
|
||||||
|
$command = sprintf('git clone --mirror %s %s', escapeshellarg($this->url), escapeshellarg($this->repoDir));
|
||||||
if (0 !== $this->process->execute($command, $output)) {
|
if (0 !== $this->process->execute($command, $output)) {
|
||||||
$output = $this->process->getErrorOutput();
|
$output = $this->process->getErrorOutput();
|
||||||
|
|
||||||
|
|
|
@ -276,6 +276,7 @@ class GitHubDriver extends VcsDriver
|
||||||
|
|
||||||
return;
|
return;
|
||||||
} catch (\RuntimeException $e) {
|
} catch (\RuntimeException $e) {
|
||||||
|
$this->gitDriver = null;
|
||||||
if (!$this->io->isInteractive()) {
|
if (!$this->io->isInteractive()) {
|
||||||
$this->io->write('<error>Failed to clone the '.$this->generateSshUrl().' repository, try running in interactive mode so that you can enter your username and password</error>');
|
$this->io->write('<error>Failed to clone the '.$this->generateSshUrl().' repository, try running in interactive mode so that you can enter your username and password</error>');
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|
|
@ -48,6 +48,11 @@ class GitHubDriverTest extends \PHPUnit_Framework_TestCase
|
||||||
->setConstructorArgs(array($io))
|
->setConstructorArgs(array($io))
|
||||||
->getMock();
|
->getMock();
|
||||||
|
|
||||||
|
$process = $this->getMock('Composer\Util\ProcessExecutor');
|
||||||
|
$process->expects($this->any())
|
||||||
|
->method('execute')
|
||||||
|
->will($this->returnValue(1));
|
||||||
|
|
||||||
$remoteFilesystem->expects($this->at(0))
|
$remoteFilesystem->expects($this->at(0))
|
||||||
->method('getContents')
|
->method('getContents')
|
||||||
->with($this->equalTo('github.com'), $this->equalTo($repoApiUrl), $this->equalTo(false))
|
->with($this->equalTo('github.com'), $this->equalTo($repoApiUrl), $this->equalTo(false))
|
||||||
|
@ -72,7 +77,7 @@ class GitHubDriverTest extends \PHPUnit_Framework_TestCase
|
||||||
->with($this->equalTo('github.com'), $this->equalTo($repoApiUrl), $this->equalTo(false))
|
->with($this->equalTo('github.com'), $this->equalTo($repoApiUrl), $this->equalTo(false))
|
||||||
->will($this->returnValue('{"master_branch": "test_master"}'));
|
->will($this->returnValue('{"master_branch": "test_master"}'));
|
||||||
|
|
||||||
$gitHubDriver = new GitHubDriver($repoUrl, $io, $this->config, null, $remoteFilesystem);
|
$gitHubDriver = new GitHubDriver($repoUrl, $io, $this->config, $process, $remoteFilesystem);
|
||||||
$gitHubDriver->initialize();
|
$gitHubDriver->initialize();
|
||||||
$this->setAttribute($gitHubDriver, 'tags', array($identifier => $sha));
|
$this->setAttribute($gitHubDriver, 'tags', array($identifier => $sha));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue