|
|
|
@ -1,13 +1,23 @@ |
|
|
|
# Use colors, but only if connected to a terminal, and that terminal |
|
|
|
#!/usr/bin/env zsh |
|
|
|
# supports them. |
|
|
|
|
|
|
|
|
|
|
|
cd "$ZSH" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Use colors, but only if connected to a terminal |
|
|
|
|
|
|
|
# and that terminal supports them. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local -a RAINBOW |
|
|
|
|
|
|
|
local RED GREEN YELLOW BLUE UNDER BOLD RESET |
|
|
|
|
|
|
|
|
|
|
|
if [ -t 1 ]; then |
|
|
|
if [ -t 1 ]; then |
|
|
|
RB_RED=$(printf '\033[38;5;196m') |
|
|
|
RAINBOW=( |
|
|
|
RB_ORANGE=$(printf '\033[38;5;202m') |
|
|
|
"$(printf '\033[38;5;196m')" |
|
|
|
RB_YELLOW=$(printf '\033[38;5;226m') |
|
|
|
"$(printf '\033[38;5;202m')" |
|
|
|
RB_GREEN=$(printf '\033[38;5;082m') |
|
|
|
"$(printf '\033[38;5;226m')" |
|
|
|
RB_BLUE=$(printf '\033[38;5;021m') |
|
|
|
"$(printf '\033[38;5;082m')" |
|
|
|
RB_INDIGO=$(printf '\033[38;5;093m') |
|
|
|
"$(printf '\033[38;5;021m')" |
|
|
|
RB_VIOLET=$(printf '\033[38;5;163m') |
|
|
|
"$(printf '\033[38;5;093m')" |
|
|
|
|
|
|
|
"$(printf '\033[38;5;163m')" |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
RED=$(printf '\033[31m') |
|
|
|
RED=$(printf '\033[31m') |
|
|
|
GREEN=$(printf '\033[32m') |
|
|
|
GREEN=$(printf '\033[32m') |
|
|
|
@ -16,25 +26,19 @@ if [ -t 1 ]; then |
|
|
|
BOLD=$(printf '\033[1m') |
|
|
|
BOLD=$(printf '\033[1m') |
|
|
|
UNDER=$(printf '\033[4m') |
|
|
|
UNDER=$(printf '\033[4m') |
|
|
|
RESET=$(printf '\033[m') |
|
|
|
RESET=$(printf '\033[m') |
|
|
|
else |
|
|
|
|
|
|
|
RB_RED="" |
|
|
|
|
|
|
|
RB_ORANGE="" |
|
|
|
|
|
|
|
RB_YELLOW="" |
|
|
|
|
|
|
|
RB_GREEN="" |
|
|
|
|
|
|
|
RB_BLUE="" |
|
|
|
|
|
|
|
RB_INDIGO="" |
|
|
|
|
|
|
|
RB_VIOLET="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RED="" |
|
|
|
|
|
|
|
GREEN="" |
|
|
|
|
|
|
|
YELLOW="" |
|
|
|
|
|
|
|
BLUE="" |
|
|
|
|
|
|
|
UNDER="" |
|
|
|
|
|
|
|
BOLD="" |
|
|
|
|
|
|
|
RESET="" |
|
|
|
|
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
cd "$ZSH" |
|
|
|
# Update upstream remote to ohmyzsh org |
|
|
|
|
|
|
|
git remote -v | while read remote url _; do |
|
|
|
|
|
|
|
case "$url" in |
|
|
|
|
|
|
|
https://github.com/robbyrussell/oh-my-zsh(|.git)) |
|
|
|
|
|
|
|
git remote set-url "$remote" "https://github.com/ohmyzsh/ohmyzsh.git" |
|
|
|
|
|
|
|
break ;; |
|
|
|
|
|
|
|
git@github.com:robbyrussell/oh-my-zsh(|.git)) |
|
|
|
|
|
|
|
git remote set-url "$remote" "git@github.com:ohmyzsh/ohmyzsh.git" |
|
|
|
|
|
|
|
break ;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
# Set git-config values known to fix git errors |
|
|
|
# Set git-config values known to fix git errors |
|
|
|
# Line endings (#4069) |
|
|
|
# Line endings (#4069) |
|
|
|
@ -45,30 +49,36 @@ git config fsck.zeroPaddedFilemode ignore |
|
|
|
git config fetch.fsck.zeroPaddedFilemode ignore |
|
|
|
git config fetch.fsck.zeroPaddedFilemode ignore |
|
|
|
git config receive.fsck.zeroPaddedFilemode ignore |
|
|
|
git config receive.fsck.zeroPaddedFilemode ignore |
|
|
|
# autostash on rebase (#7172) |
|
|
|
# autostash on rebase (#7172) |
|
|
|
resetAutoStash=$(git config --bool rebase.autoStash 2>&1) |
|
|
|
resetAutoStash=$(git config --bool rebase.autoStash 2>/dev/null) |
|
|
|
git config rebase.autoStash true |
|
|
|
git config rebase.autoStash true |
|
|
|
|
|
|
|
|
|
|
|
# Update upstream remote to ohmyzsh org |
|
|
|
local ret=0 |
|
|
|
remote=$(git remote -v | awk '/https:\/\/github\.com\/robbyrussell\/oh-my-zsh\.git/{ print $1; exit }') |
|
|
|
|
|
|
|
if [ -n "$remote" ]; then |
|
|
|
|
|
|
|
git remote set-url "$remote" "https://github.com/ohmyzsh/ohmyzsh.git" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Update Oh My Zsh |
|
|
|
printf "${BLUE}%s${RESET}\n" "Updating Oh My Zsh" |
|
|
|
printf "${BLUE}%s${RESET}\n" "Updating Oh My Zsh" |
|
|
|
if git pull --rebase --stat origin master |
|
|
|
last_commit=$(git rev-parse HEAD) |
|
|
|
then |
|
|
|
if git pull --rebase --stat origin master; then |
|
|
|
printf '%s %s__ %s %s %s %s %s__ %s\n' $RB_RED $RB_ORANGE $RB_YELLOW $RB_GREEN $RB_BLUE $RB_INDIGO $RB_VIOLET $RB_RESET |
|
|
|
# Check if it was really updated or not |
|
|
|
printf '%s ____ %s/ /_ %s ____ ___ %s__ __ %s ____ %s_____%s/ /_ %s\n' $RB_RED $RB_ORANGE $RB_YELLOW $RB_GREEN $RB_BLUE $RB_INDIGO $RB_VIOLET $RB_RESET |
|
|
|
if [[ "$(git rev-parse HEAD)" = "$last_commit" ]]; then |
|
|
|
printf '%s / __ \%s/ __ \ %s / __ `__ \%s/ / / / %s /_ / %s/ ___/%s __ \ %s\n' $RB_RED $RB_ORANGE $RB_YELLOW $RB_GREEN $RB_BLUE $RB_INDIGO $RB_VIOLET $RB_RESET |
|
|
|
message="Oh My Zsh is already at the latest version." |
|
|
|
printf '%s/ /_/ /%s / / / %s / / / / / /%s /_/ / %s / /_%s(__ )%s / / / %s\n' $RB_RED $RB_ORANGE $RB_YELLOW $RB_GREEN $RB_BLUE $RB_INDIGO $RB_VIOLET $RB_RESET |
|
|
|
ret=80 # non-zero exit code to indicate no changes pulled |
|
|
|
printf '%s\____/%s_/ /_/ %s /_/ /_/ /_/%s\__, / %s /___/%s____/%s_/ /_/ %s\n' $RB_RED $RB_ORANGE $RB_YELLOW $RB_GREEN $RB_BLUE $RB_INDIGO $RB_VIOLET $RB_RESET |
|
|
|
else |
|
|
|
printf '%s %s %s %s /____/ %s %s %s %s\n' $RB_RED $RB_ORANGE $RB_YELLOW $RB_GREEN $RB_BLUE $RB_INDIGO $RB_VIOLET $RB_RESET |
|
|
|
message="Hooray! Oh My Zsh has been updated!" |
|
|
|
printf "${BLUE}%s\n" "Hooray! Oh My Zsh has been updated and/or is at the current version." |
|
|
|
fi |
|
|
|
printf "${BLUE}${BOLD}%s ${UNDER}%s${RESET}\n" "To keep up on the latest news and updates, follow us on Twitter:" "https://twitter.com/ohmyzsh" |
|
|
|
|
|
|
|
|
|
|
|
printf '%s %s__ %s %s %s %s %s__ %s\n' $RAINBOW $RESET |
|
|
|
|
|
|
|
printf '%s ____ %s/ /_ %s ____ ___ %s__ __ %s ____ %s_____%s/ /_ %s\n' $RAINBOW $RESET |
|
|
|
|
|
|
|
printf '%s / __ \%s/ __ \ %s / __ `__ \%s/ / / / %s /_ / %s/ ___/%s __ \ %s\n' $RAINBOW $RESET |
|
|
|
|
|
|
|
printf '%s/ /_/ /%s / / / %s / / / / / /%s /_/ / %s / /_%s(__ )%s / / / %s\n' $RAINBOW $RESET |
|
|
|
|
|
|
|
printf '%s\____/%s_/ /_/ %s /_/ /_/ /_/%s\__, / %s /___/%s____/%s_/ /_/ %s\n' $RAINBOW $RESET |
|
|
|
|
|
|
|
printf '%s %s %s %s /____/ %s %s %s %s\n' $RAINBOW $RESET |
|
|
|
|
|
|
|
printf '\n' |
|
|
|
|
|
|
|
printf "${BLUE}%s${RESET}\n" "$message" |
|
|
|
|
|
|
|
printf "${BLUE}${BOLD}%s ${UNDER}%s${RESET}\n" "To keep up with the latest news and updates, follow us on Twitter:" "https://twitter.com/ohmyzsh" |
|
|
|
printf "${BLUE}${BOLD}%s ${UNDER}%s${RESET}\n" "Want to get involved in the community? Join our Discord:" "https://discord.gg/ohmyzsh" |
|
|
|
printf "${BLUE}${BOLD}%s ${UNDER}%s${RESET}\n" "Want to get involved in the community? Join our Discord:" "https://discord.gg/ohmyzsh" |
|
|
|
printf "${BLUE}${BOLD}%s ${UNDER}%s${RESET}\n" "Get your Oh My Zsh swag at:" "https://shop.planetargon.com/collections/oh-my-zsh" |
|
|
|
printf "${BLUE}${BOLD}%s ${UNDER}%s${RESET}\n" "Get your Oh My Zsh swag at:" "https://shop.planetargon.com/collections/oh-my-zsh" |
|
|
|
else |
|
|
|
else |
|
|
|
status=$? |
|
|
|
ret=$? |
|
|
|
printf "${RED}%s${RESET}\n" 'There was an error updating. Try again later?' |
|
|
|
printf "${RED}%s${RESET}\n" 'There was an error updating. Try again later?' |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
@ -79,4 +89,4 @@ case "$resetAutoStash" in |
|
|
|
esac |
|
|
|
esac |
|
|
|
|
|
|
|
|
|
|
|
# Exit with `1` if the update failed |
|
|
|
# Exit with `1` if the update failed |
|
|
|
exit $status |
|
|
|
exit $ret |
|
|
|
|