Browse Source

Make sure to use an absolute path for symlinking in PathDownloader. Resolves #4451

Alain Schlesser 9 years ago
parent
commit
4e9885e9bc
1 changed files with 5 additions and 1 deletions
  1. 5 1
      src/Composer/Downloader/PathDownloader.php

+ 5 - 1
src/Composer/Downloader/PathDownloader.php

@@ -79,7 +79,11 @@ class PathDownloader extends FileDownloader
                     $this->filesystem->junction($realUrl, $path);
                     $this->io->writeError(sprintf('    Junctioned from %s', $url));
                 } else {
-                    $shortestPath = $this->filesystem->findShortestPath($path, $realUrl);
+                    $absolutePath = $path;
+                    if ( ! $this->filesystem->isAbsolutePath($absolutePath)) {
+                        $absolutePath = getcwd() . DIRECTORY_SEPARATOR . $path;
+                    }
+                    $shortestPath = $this->filesystem->findShortestPath($absolutePath, $realUrl);
                     $fileSystem->symlink($shortestPath, $path);
                     $this->io->writeError(sprintf('    Symlinked from %s', $url));
                 }