浏览代码

Make sure getRepoConfig is only called on VcsRepos, refs #4700

Jordi Boggiano 9 年之前
父节点
当前提交
5dbc8fa30b
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      src/Composer/Downloader/SvnDownloader.php

+ 7 - 3
src/Composer/Downloader/SvnDownloader.php

@@ -14,6 +14,7 @@ namespace Composer\Downloader;
 
 
 use Composer\Package\PackageInterface;
 use Composer\Package\PackageInterface;
 use Composer\Util\Svn as SvnUtil;
 use Composer\Util\Svn as SvnUtil;
+use Composer\Repository\VcsRepository;
 
 
 /**
 /**
  * @author Ben Bieker <mail@ben-bieker.de>
  * @author Ben Bieker <mail@ben-bieker.de>
@@ -31,9 +32,12 @@ class SvnDownloader extends VcsDownloader
         SvnUtil::cleanEnv();
         SvnUtil::cleanEnv();
         $ref = $package->getSourceReference();
         $ref = $package->getSourceReference();
 
 
-        $repoConfig = $package->getRepository()->getRepoConfig();
-        if (array_key_exists('svn-cache-credentials', $repoConfig)) {
-            $this->cacheCredentials = (bool) $repoConfig['svn-cache-credentials'];
+        $repo = $package->getRepository();
+        if ($repo instanceof VcsRepository) {
+            $repoConfig = $repo->getRepoConfig();
+            if (array_key_exists('svn-cache-credentials', $repoConfig)) {
+                $this->cacheCredentials = (bool) $repoConfig['svn-cache-credentials'];
+            }
         }
         }
 
 
         $this->io->writeError("    Checking out ".$package->getSourceReference());
         $this->io->writeError("    Checking out ".$package->getSourceReference());