diff --git a/src/Composer/Util/Svn.php b/src/Composer/Util/Svn.php index 92694ea78..fcfac6d7e 100644 --- a/src/Composer/Util/Svn.php +++ b/src/Composer/Util/Svn.php @@ -20,6 +20,8 @@ use Composer\IO\IOInterface; */ class Svn { + const MAX_QTY_AUTH_TRIES = 5; + /** * @var array */ @@ -50,6 +52,11 @@ class Svn */ protected $process; + /** + * @var integer + */ + protected $qtyAuthTries = 0; + /** * @param string $url * @param \Composer\IO\IOInterface $io @@ -112,11 +119,8 @@ class Svn ); } - // TODO keep a count of user auth attempts and ask 5 times before - // failing hard (currently it fails hard directly if the URL has credentials) - - // try to authenticate - if (!$this->hasAuth()) { + // try to authenticate if maximum quantity of tries not reached + if ($this->qtyAuthTries++ < self::MAX_QTY_AUTH_TRIES || !$this->hasAuth()) { $this->doAuthDance(); // restart the process