function SelfUpdateCommand::rollback
Throws
1 call to SelfUpdateCommand::rollback()
- SelfUpdateCommand::execute in vendor/
composer/ composer/ src/ Composer/ Command/ SelfUpdateCommand.php
File
-
vendor/
composer/ composer/ src/ Composer/ Command/ SelfUpdateCommand.php, line 416
Class
- SelfUpdateCommand
- @author Igor Wiedler <igor@wiedler.ch> @author Kevin Ran <kran@adobe.com> @author Jordi Boggiano <j.boggiano@seld.be>
Namespace
Composer\CommandCode
protected function rollback(OutputInterface $output, string $rollbackDir, string $localFilename) : int {
$rollbackVersion = $this->getLastBackupVersion($rollbackDir);
if (null === $rollbackVersion) {
throw new \UnexpectedValueException('Composer rollback failed: no installation to roll back to in "' . $rollbackDir . '"');
}
$oldFile = $rollbackDir . '/' . $rollbackVersion . self::OLD_INSTALL_EXT;
if (!is_file($oldFile)) {
throw new FilesystemException('Composer rollback failed: "' . $oldFile . '" could not be found');
}
if (!Filesystem::isReadable($oldFile)) {
throw new FilesystemException('Composer rollback failed: "' . $oldFile . '" could not be read');
}
$io = $this->getIO();
$io->writeError(sprintf("Rolling back to version <info>%s</info>.", $rollbackVersion));
if (!$this->setLocalPhar($localFilename, $oldFile)) {
return 1;
}
return 0;
}