aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers/updateController.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controllers/updateController.php')
-rw-r--r--app/Controllers/updateController.php18
1 files changed, 11 insertions, 7 deletions
diff --git a/app/Controllers/updateController.php b/app/Controllers/updateController.php
index ebe5e4cc8..cc3aef9fd 100644
--- a/app/Controllers/updateController.php
+++ b/app/Controllers/updateController.php
@@ -29,20 +29,22 @@ class FreshRSS_update_Controller extends Minz_ActionController {
public static function gitPull() {
$cwd = getcwd();
chdir(FRESHRSS_PATH);
- $output = array();
+ $output = '';
$return = 1;
try {
- exec('git clean -f -d -f', $output, $return);
+ exec('git fetch', $output, $return);
if ($return == 0) {
- exec('git pull --ff-only', $output, $return);
- } else {
- $line = is_array($output) ? implode('; ', $output) : '' . $output;
- Minz_Log::warning('git clean warning:' . $line);
+ exec('git reset --hard FETCH_HEAD', $output, $return);
}
} catch (Exception $e) {
- Minz_Log::warning('git pull error:' . $e->getMessage());
+ Minz_Log::warning('Git error:' . $e->getMessage());
+ if ($output == '') {
+ $output = $e->getMessage();
+ }
+ $return = 1;
}
chdir($cwd);
+ deleteInstall();
$line = is_array($output) ? implode('; ', $output) : '' . $output;
return $return == 0 ? true : 'Git error: ' . $line;
}
@@ -52,6 +54,8 @@ class FreshRSS_update_Controller extends Minz_ActionController {
Minz_Error::error(403);
}
+ include_once(LIB_PATH . '/lib_install.php');
+
invalidateHttpCache();
$this->view->update_to_apply = false;