function cos_upgrade($options) { moduleloader::includeModule('system'); $p = new profile(); if (git::isMaster()) { common::abort('Can not make upgrade from master branch'); } $repo = conf::getModuleIni('system_repo'); $remote = git::getTagsRemoteLatest($repo); if ($p->upgradePossible()) { common::echoMessage("Latest version/tag: {$remote}", 'y'); $continue = common::readlineConfirm('Continue the upgrade'); if ($continue) { cos_upgrade_to($remote); } } else { $locale = git::getTagsInstallLatest(); common::echoMessage("Latest version/tag: {$locale}", 'y'); $continue = common::readlineConfirm('Continue. Maybe your upgrade was interrupted. '); if ($continue) { cos_upgrade_to($remote); } } }
/** * Check tags to see if we should upgrade. * @return boolean $res */ public function upgradePossible() { $locale = git::getTagsInstallLatest(); $repo = conf::getModuleIni('system_repo'); $remote = git::getTagsRemoteLatest($repo); if ($remote > $locale) { return true; } return false; }
/** * function for showing git tags (just for testing) * @param array $options */ function cos_git_echo_remote_tags($options) { if (empty($options['repo'])) { common::abort('You need to specify a repo'); } $tags = git::getTagsRemote($options['repo']); if (empty($tags)) { common::abort('No tags'); } $latest = git::getTagsRemoteLatest($options['repo']); common::echoMessage("Latest is: {$latest}"); }