]> source.dussan.org Git - nextcloud-server.git/commitdiff
Set version AFTER a successful update
authorVincent Petry <pvince81@owncloud.com>
Wed, 23 Jul 2014 21:38:17 +0000 (23:38 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Mon, 28 Jul 2014 09:21:13 +0000 (11:21 +0200)
If an app upgrade failed, the core version will not be increased either
in the database. This will re-display the update page and make it
possible to redo the apps upgrade.

Note that any core repair routine must take into account that an update
might need to be redone again even though the core's DB state is already
the one of the new version.

lib/private/updater.php

index d50c2554c75f5531b1e9cc9fe6bde9cae7b180bb..7acd6446ec4e711d72764bb6e285012481332dd1 100644 (file)
@@ -212,8 +212,6 @@ class Updater extends BasicEmitter {
                        \OC_DB::updateDbFromStructure(\OC::$SERVERROOT . '/db_structure.xml');
                        $this->emit('\OC\Updater', 'dbUpgrade');
 
-                       // TODO: why not do this at the end ?
-                       \OC_Config::setValue('version', implode('.', \OC_Util::getVersion()));
                        $disabledApps = \OC_App::checkAppsRequirements();
                        if (!empty($disabledApps)) {
                                $this->emit('\OC\Updater', 'disabledApps', array($disabledApps));
@@ -227,6 +225,9 @@ class Updater extends BasicEmitter {
 
                        //Invalidate update feed
                        \OC_Appconfig::setValue('core', 'lastupdatedat', 0);
+
+                       // only set the final version if everything went well
+                       \OC_Config::setValue('version', implode('.', \OC_Util::getVersion()));
                }
        }
 }