aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib/plugins/extension/cli.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/extension/cli.php')
-rw-r--r--lib/plugins/extension/cli.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/plugins/extension/cli.php b/lib/plugins/extension/cli.php
index de500b0b4..51dcfd070 100644
--- a/lib/plugins/extension/cli.php
+++ b/lib/plugins/extension/cli.php
@@ -50,6 +50,7 @@ class cli_plugin_extension extends CLIPlugin
// upgrade
$options->registerCommand('upgrade', 'Update all installed extensions to their latest versions');
+ $options->registerOption('git-overwrite', 'Do not skip git-controlled extensions', 'g', false, 'upgrade');
// install
$options->registerCommand('install', 'Install or upgrade extensions');
@@ -107,7 +108,7 @@ class cli_plugin_extension extends CLIPlugin
$ret = $this->cmdEnable(false, $options->getArgs());
break;
case 'upgrade':
- $ret = $this->cmdUpgrade();
+ $ret = $this->cmdUpgrade($options->getOpt('git-overwrite', false));
break;
default:
echo $options->help();
@@ -122,11 +123,12 @@ class cli_plugin_extension extends CLIPlugin
*
* @return int
*/
- protected function cmdUpgrade()
+ protected function cmdUpgrade($gitOverwrite)
{
$local = new Local();
$extensions = [];
foreach ($local->getExtensions() as $ext) {
+ if($ext->isGitControlled() && !$gitOverwrite) continue; // skip git controlled extensions
if ($ext->isUpdateAvailable()) $extensions[] = $ext->getID();
}
return $this->cmdInstall($extensions);