Allow use of parent directories in PathDownloader when not mirroring the path

main
Cameron Eagans 8 years ago
parent b1156ed376
commit 1cda8e1ef0

@ -45,13 +45,6 @@ class PathDownloader extends FileDownloader implements VcsCapableDownloaderInter
));
}
if (strpos(realpath($path) . DIRECTORY_SEPARATOR, $realUrl . DIRECTORY_SEPARATOR) === 0) {
throw new \RuntimeException(sprintf(
'Package %s cannot install to "%s" inside its source at "%s"',
$package->getName(), realpath($path), $realUrl
));
}
// Get the transport options with default values
$transportOptions = $package->getTransportOptions() + array('symlink' => null);
@ -72,6 +65,13 @@ class PathDownloader extends FileDownloader implements VcsCapableDownloaderInter
$allowedStrategies = array(self::STRATEGY_MIRROR);
}
if ($currentStrategy != self::STRATEGY_MIRROR && strpos(realpath($path) . DIRECTORY_SEPARATOR, $realUrl . DIRECTORY_SEPARATOR) === 0) {
throw new \RuntimeException(sprintf(
'Package %s cannot install to "%s" inside its source at "%s"',
$package->getName(), realpath($path), $realUrl
));
}
$fileSystem = new Filesystem();
$this->filesystem->removeDirectory($path);

Loading…
Cancel
Save