Эх сурвалжийг харах

Improved the handling of trunkPath

- $this->baseUrl is only used if $this->trunkPath === false, otherwise
we will use $this->baseUrl with $this->trunkPath.
- scanning through trunkPath will now look for composer.json file
instead of a path that matches $this->trunkPath, beacuse checking
against the latter failed with deeper trunkPaths
- $this->rootIdentifier is now 'trunk' no matter how deep
$this->trunkPath is (with deeper trunkPaths, the name became something
like "dev-trunk-devel-team-packages-package"
schmkr 11 жил өмнө
parent
commit
652715f4c2

+ 5 - 5
src/Composer/Repository/Vcs/SvnDriver.php

@@ -193,10 +193,10 @@ class SvnDriver extends VcsDriver
         if (null === $this->branches) {
             $this->branches = array();
 
-            if (false === strpos($this->trunkPath, '/')) {
+            if(false === $this->trunkPath) {
                 $trunkParent = $this->baseUrl . '/';
             } else {
-                $trunkParent = $this->baseUrl . '/' . dirname($this->trunkPath) . '/';
+                $trunkParent = $this->baseUrl . '/' . $this->trunkPath;
             }
 
             $output = $this->execute('svn ls --verbose', $trunkParent);
@@ -204,12 +204,12 @@ class SvnDriver extends VcsDriver
                 foreach ($this->process->splitLines($output) as $line) {
                     $line = trim($line);
                     if ($line && preg_match('{^\s*(\S+).*?(\S+)\s*$}', $line, $match)) {
-                        if (isset($match[1]) && isset($match[2]) && $match[2] === $this->trunkPath . '/') {
-                            $this->branches[$this->trunkPath] = $this->buildIdentifier(
+                        if (isset($match[1]) && isset($match[2]) && $match[2] === 'composer.json') {
+                            $this->branches['trunk'] = $this->buildIdentifier(
                                 '/' . $this->trunkPath,
                                 $match[1]
                             );
-                            $this->rootIdentifier = $this->branches[$this->trunkPath];
+                            $this->rootIdentifier = $this->branches['trunk'];
                             break;
                         }
                     }