support/installer/src/Downloader.php
protected function extract($file, $path)
	{
		// we must use cmdline tar, as PharData::extract() messes up symlinks
		$command = 'tar -xzf ' . ProcessExecutor::escape($file) . ' -C ' . ProcessExecutor::escape($path);

		if (0 === $this->process->execute($command, $ignoredOutput)) {
			return;
		}

		throw new \RuntimeException("Failed to execute '$command'\n\n" . $this->process->getErrorOutput());
	}
protected function extract($file, $path)
	{
		// we must use cmdline tar, as PharData::extract() messes up symlinks
		$command = 'tar -xzf ' . ProcessExecutor::escape($file) . ' -C ' . ProcessExecutor::escape($path);

		if (0 === $this->process->execute($command, $ignoredOutput)) {
			return;
		}

		throw new \RuntimeException("Failed to execute '$command'\n\n" . $this->process->getErrorOutput());
	}
protected function extract ( $ file , $ path ) { // we must use cmdline tar, as PharData::extract() messes up symlinks $ command = 'tar -xzf ' . ProcessExecutor :: escape ( $ file ) . ' -C ' . ProcessExecutor :: escape ( $ path ) ; if ( 0 === $ this -> process -> execute ( $ command , $ ignoredOutput ) ) { return ; } throw new \ RuntimeException ( "Failed to execute '$command'\n\n" . $ this -> process -> getErrorOutput ( ) ) ; }
extract using cmdline tar, which merges with existing files and folders
extract using cmdline tar which merges with existing files and folders