Browse Source

fix(updater): don't show changelog when running unattended update (#9495)

Fixes #9495
Marc Cornellà 3 years ago
parent
commit
5a888ff4ac
4 changed files with 15 additions and 7 deletions
  1. 7 1
      lib/cli.zsh
  2. 1 1
      lib/functions.zsh
  3. 1 1
      tools/check_for_upgrade.sh
  4. 6 4
      tools/upgrade.sh

+ 7 - 1
lib/cli.zsh

@@ -376,13 +376,19 @@ function _omz::theme::use {
 
 
 function _omz::update {
 function _omz::update {
   # Run update script
   # Run update script
-  env ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh"
+  if [[ "$1" != --unattended ]]; then
+    ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh" --interactive
+  else
+    ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh"
+  fi
   local ret=$?
   local ret=$?
+
   # Update last updated file
   # Update last updated file
   zmodload zsh/datetime
   zmodload zsh/datetime
   echo "LAST_EPOCH=$(( EPOCHSECONDS / 60 / 60 / 24 ))" >! "${ZSH_CACHE_DIR}/.zsh-update"
   echo "LAST_EPOCH=$(( EPOCHSECONDS / 60 / 60 / 24 ))" >! "${ZSH_CACHE_DIR}/.zsh-update"
   # Remove update lock if it exists
   # Remove update lock if it exists
   command rm -rf "$ZSH/log/update.lock"
   command rm -rf "$ZSH/log/update.lock"
+
   # Restart the zsh session
   # Restart the zsh session
   if [[ $ret -eq 0 && "$1" != --unattended ]]; then
   if [[ $ret -eq 0 && "$1" != --unattended ]]; then
     # Check whether to run a login shell
     # Check whether to run a login shell

+ 1 - 1
lib/functions.zsh

@@ -14,7 +14,7 @@ function upgrade_oh_my_zsh() {
   fi
   fi
 
 
   # Run update script
   # Run update script
-  env ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh"
+  env ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh" --interactive
   local ret=$?
   local ret=$?
   # Update last updated file
   # Update last updated file
   zmodload zsh/datetime
   zmodload zsh/datetime

+ 1 - 1
tools/check_for_upgrade.sh

@@ -24,7 +24,7 @@ function update_last_updated_file() {
 }
 }
 
 
 function update_ohmyzsh() {
 function update_ohmyzsh() {
-  ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh"
+  ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh" --interactive
   update_last_updated_file
   update_last_updated_file
 }
 }
 
 

+ 6 - 4
tools/upgrade.sh

@@ -70,10 +70,12 @@ if git pull --rebase --stat origin master; then
     message="Hooray! Oh My Zsh has been updated!"
     message="Hooray! Oh My Zsh has been updated!"
 
 
     # Display changelog with less if available, otherwise just print it to the terminal
     # Display changelog with less if available, otherwise just print it to the terminal
-    if (( $+commands[less] )); then
-      "$ZSH/tools/changelog.sh" HEAD "$last_commit" --text | command less -R
-    else
-      "$ZSH/tools/changelog.sh" HEAD "$last_commit"
+    if [[ "$1" = --interactive ]]; then
+      if (( $+commands[less] )); then
+        "$ZSH/tools/changelog.sh" HEAD "$last_commit" --text | LESS= command less -R
+      else
+        "$ZSH/tools/changelog.sh" HEAD "$last_commit"
+      fi
     fi
     fi
   fi
   fi