Exemple #1
0
 /**
  * Execute an SVN command and try to fix up the process with credentials
  * if necessary.
  *
  * @param  string            $baseUrl Base URL of the repository
  * @param  string            $command SVN command to run
  * @param  string            $url     SVN url
  * @param  string            $cwd     Working directory
  * @param  string            $path    Target for a checkout
  * @throws \RuntimeException
  * @return string
  */
 protected function execute($baseUrl, $command, $url, $cwd = null, $path = null)
 {
     $util = new SvnUtil($baseUrl, $this->io, $this->config);
     $util->setCacheCredentials($this->cacheCredentials);
     try {
         return $util->execute($command, $url, $cwd, $path, $this->io->isVerbose());
     } catch (\RuntimeException $e) {
         throw new \RuntimeException('Package could not be downloaded, ' . $e->getMessage());
     }
 }
Exemple #2
0
 public function testCredentialsFromConfigWithCacheCredentialsFalse()
 {
     $url = 'http://svn.apache.org';
     $config = new Config();
     $config->merge(array('config' => array('http-basic' => array('svn.apache.org' => array('username' => 'foo', 'password' => 'bar')))));
     $svn = new Svn($url, new NullIO(), $config);
     $svn->setCacheCredentials(false);
     $reflMethod = new \ReflectionMethod('Composer\\Util\\Svn', 'getCredentialString');
     $reflMethod->setAccessible(true);
     $this->assertEquals($this->getCmd(" --no-auth-cache --username 'foo' --password 'bar' "), $reflMethod->invoke($svn));
 }
Exemple #3
0
 /**
  * Execute an SVN command and try to fix up the process with credentials
  * if necessary.
  *
  * @param  string            $command The svn command to run.
  * @param  string            $url     The SVN URL.
  * @throws \RuntimeException
  * @return string
  */
 protected function execute($command, $url)
 {
     if (null === $this->util) {
         $this->util = new SvnUtil($this->baseUrl, $this->io, $this->config, $this->process);
         $this->util->setCacheCredentials($this->cacheCredentials);
     }
     try {
         return $this->util->execute($command, $url);
     } catch (\RuntimeException $e) {
         if (0 !== $this->process->execute('svn --version', $ignoredOutput)) {
             throw new \RuntimeException('Failed to load ' . $this->url . ', svn was not found, check that it is installed and in your PATH env.' . "\n\n" . $this->process->getErrorOutput());
         }
         throw new \RuntimeException('Repository ' . $this->url . ' could not be processed, ' . $e->getMessage());
     }
 }