diff options
author | Cai Cooper <2406847+cagiti@users.noreply.github.com> | 2021-03-01 07:17:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-01 08:17:54 +0100 |
commit | 6fbad5bf72fad4ecf30ba4d4ffee62bac582f0ed (patch) | |
tree | 50f6c9bf2b453c46ed4fb510a08e27d7dd567006 /lib | |
parent | 9a9f3831925432fdf4352c24a002506a06d329c1 (diff) | |
download | zsh-6fbad5bf72fad4ecf30ba4d4ffee62bac582f0ed.tar.gz zsh-6fbad5bf72fad4ecf30ba4d4ffee62bac582f0ed.tar.bz2 zsh-6fbad5bf72fad4ecf30ba4d4ffee62bac582f0ed.zip |
fix(update): don't error on upgrade no-op (#9685)
* Don't error on upgrade no-op
No error code is required for a non failure scenario.
* Manually check whether changes were pulled in `omz update`
Co-authored-by: Marc Cornellà <hello@mcornella.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cli.zsh | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/cli.zsh b/lib/cli.zsh index 3346d3973..38e2f72f8 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -401,13 +401,14 @@ function _omz::theme::use { } function _omz::update { + local last_commit=$(cd "$ZSH"; git rev-parse HEAD) + # Run update script 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=$? # Update last updated file zmodload zsh/datetime @@ -415,8 +416,8 @@ function _omz::update { # Remove update lock if it exists command rm -rf "$ZSH/log/update.lock" - # Restart the zsh session - if [[ $ret -eq 0 && "$1" != --unattended ]]; then + # Restart the zsh session if there were changes + if [[ "$1" != --unattended && "$(cd "$ZSH"; git rev-parse HEAD)" != "$last_commit" ]]; then # Old zsh versions don't have ZSH_ARGZERO local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}" # Check whether to run a login shell |