mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-15 01:48:34 -07:00
bccfe1389c
If I have custom configs (like theme customizations) I have to stash my changes and get them back after the update. By adding the --autostash on upgrade.sh, if I have any changes not commited they'll be reapplied after the upgrade, allowing me to have temporary customizations without any harm to the upgrade process.
56 lines
2.0 KiB
Bash
56 lines
2.0 KiB
Bash
|
|
# Use colors, but only if connected to a terminal, and that terminal
|
|
# supports them.
|
|
if which tput >/dev/null 2>&1; then
|
|
ncolors=$(tput colors)
|
|
fi
|
|
if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then
|
|
RED="$(tput setaf 1)"
|
|
GREEN="$(tput setaf 2)"
|
|
YELLOW="$(tput setaf 3)"
|
|
BLUE="$(tput setaf 4)"
|
|
BOLD="$(tput bold)"
|
|
NORMAL="$(tput sgr0)"
|
|
else
|
|
RED=""
|
|
GREEN=""
|
|
YELLOW=""
|
|
BLUE=""
|
|
BOLD=""
|
|
NORMAL=""
|
|
fi
|
|
|
|
cd "$ZSH"
|
|
|
|
# Set git-config values known to fix git errors
|
|
# Line endings (#4069)
|
|
git config core.eol lf
|
|
git config core.autocrlf false
|
|
# zeroPaddedFilemode fsck errors (#4963)
|
|
git config fsck.zeroPaddedFilemode ignore
|
|
git config fetch.fsck.zeroPaddedFilemode ignore
|
|
git config receive.fsck.zeroPaddedFilemode ignore
|
|
|
|
# Update upstream remote to ohmyzsh org
|
|
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
|
|
|
|
printf "${BLUE}%s${NORMAL}\n" "Updating Oh My Zsh"
|
|
if git pull --rebase --autostash --stat origin master
|
|
then
|
|
printf '%s' "$GREEN"
|
|
printf '%s\n' ' __ __ '
|
|
printf '%s\n' ' ____ / /_ ____ ___ __ __ ____ _____/ /_ '
|
|
printf '%s\n' ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '
|
|
printf '%s\n' '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '
|
|
printf '%s\n' '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '
|
|
printf '%s\n' ' /____/ '
|
|
printf "${BLUE}%s\n" "Hooray! Oh My Zsh has been updated and/or is at the current version."
|
|
printf "${BLUE}${BOLD}%s${NORMAL}\n" "To keep up on the latest news and updates, follow us on twitter: https://twitter.com/ohmyzsh"
|
|
printf "${BLUE}${BOLD}%s${NORMAL}\n" "Get your Oh My Zsh swag at: https://shop.planetargon.com/collections/oh-my-zsh"
|
|
else
|
|
printf "${RED}%s${NORMAL}\n" 'There was an error updating. Try again later?'
|
|
fi
|