diff options
author | Marc Cornellà <marc.cornella@live.com> | 2020-12-12 13:41:29 +0100 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2020-12-12 13:50:53 +0100 |
commit | e8e37eedbc8cf5e446be11971769df7cc10faeb0 (patch) | |
tree | f961d11d02a207253c55f304fb724d472cda9baa /tools | |
parent | 9d6b3984f92cf7f4411b40dfb5a0897b260ae368 (diff) | |
download | zsh-e8e37eedbc8cf5e446be11971769df7cc10faeb0.tar.gz zsh-e8e37eedbc8cf5e446be11971769df7cc10faeb0.tar.bz2 zsh-e8e37eedbc8cf5e446be11971769df7cc10faeb0.zip |
feat(updater): save version prior to updating so `omz changelog` just works™
Fixes #9505
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/changelog.sh | 11 | ||||
-rwxr-xr-x | tools/upgrade.sh | 8 |
2 files changed, 16 insertions, 3 deletions
diff --git a/tools/changelog.sh b/tools/changelog.sh index 4ce42e5a3..845b1d4b4 100755 --- a/tools/changelog.sh +++ b/tools/changelog.sh @@ -340,16 +340,23 @@ function display-release { function main { # $1 = until commit, $2 = since commit - # $3 = output format (--raw|--text|--md) local until="$1" since="$2" + + # $3 = output format (--text|--raw|--md) + # --md: uses markdown formatting + # --raw: outputs without style + # --text: uses ANSI escape codes to style the output local output=${${3:-"--text"}#--*} if [[ -z "$until" ]]; then until=HEAD fi - # If $since is not specified, look up first version tag before $until if [[ -z "$since" ]]; then + # If $since is not specified: + # 1) try to find the version used before updating + # 2) try to find the first version tag before $until + since=$(command git config --get oh-my-zsh.lastVersion 2>/dev/null) || \ since=$(command git describe --abbrev=0 --tags "$until^" 2>/dev/null) || \ unset since elif [[ "$since" = --all ]]; then diff --git a/tools/upgrade.sh b/tools/upgrade.sh index cfd424527..4df7eb184 100755 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -10,7 +10,7 @@ cd "$ZSH" # and that terminal supports them. local -a RAINBOW -local RED GREEN YELLOW BLUE UNDER BOLD RESET +local RED GREEN YELLOW BLUE BOLD DIM UNDER RESET if [ -t 1 ]; then RAINBOW=( @@ -28,6 +28,7 @@ if [ -t 1 ]; then YELLOW=$(printf '\033[33m') BLUE=$(printf '\033[34m') BOLD=$(printf '\033[1m') + DIM=$(printf '\033[2m') UNDER=$(printf '\033[4m') RESET=$(printf '\033[m') fi @@ -69,6 +70,9 @@ if git pull --rebase --stat origin master; then else message="Hooray! Oh My Zsh has been updated!" + # Save the commit prior to updating + git config oh-my-zsh.lastVersion "$last_commit" + # Display changelog with less if available, otherwise just print it to the terminal if [[ "$1" = --interactive ]]; then if (( $+commands[less] )); then @@ -77,6 +81,8 @@ if git pull --rebase --stat origin master; then "$ZSH/tools/changelog.sh" HEAD "$last_commit" fi fi + + printf "${BLUE}%s \`${BOLD}%s${RESET}${BLUE}\`${RESET}\n" "You can see the changelog again with" "omz changelog" fi printf '%s %s__ %s %s %s %s %s__ %s\n' $RAINBOW $RESET |