#!/usr/bin/env bash function _omb_upgrade { # Use colors, but only if connected to a terminal, and that terminal # supports them. if type -P tput &>/dev/null; then local ncolors=$(tput colors) fi if [[ -t 1 && $ncolors && $ncolors -ge 8 ]]; then local RED=$(tput setaf 1) local GREEN=$(tput setaf 2) local YELLOW=$(tput setaf 3) local BLUE=$(tput setaf 4) local BOLD=$(tput bold) local NORMAL=$(tput sgr0) else local RED="" local GREEN="" local YELLOW="" local BLUE="" local BOLD="" local NORMAL="" fi printf "${BLUE}%s${NORMAL}\n" "Updating Oh My Bash" # Note: The git option "-C PATH" is only supported from git-1.8.5 # (https://github.com/git/git/commit/44e1e4d6 2013-09). On the other hand, # the synonym "--git-dir=PATH/.git --work-tree=PATH" is supported from # git-1.5.3 (https://github.com/git/git/commit/892c41b9 2007-06). if ! command git --git-dir="$OSH/.git" --work-tree="$OSH" pull --rebase --stat origin master; then # In case it enters the rebasing mode printf '%s\n' "oh-my-bash: running 'git rebase --abort'..." command git --git-dir="$OSH/.git" --work-tree="$OSH" rebase --abort printf "${RED}%s${NORMAL}\n" \ 'There was an error updating.' \ "If you have uncommited changes in '$BOLD$OSH$NORMAL$RED', please commit, stash or discard them and retry updating." \ "If you have your own local commits in '$BOLD$OSH$NORMAL$RED' that conflict with the upstream changes, please resolve conflicts and merge the upstream manually." return 1 fi 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 Bash 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 GitHub: https://github.com/ohmybash/oh-my-bash" if [[ $- == *i* ]]; then declare -f _omb_util_unload &>/dev/null && _omb_util_unload source ~/.bashrc fi } _omb_upgrade