diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 9ecaed2ef..6d0a46637 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -30,6 +30,9 @@ git config core.autocrlf false git config fsck.zeroPaddedFilemode ignore git config fetch.fsck.zeroPaddedFilemode ignore git config receive.fsck.zeroPaddedFilemode ignore +# autostash on rebase (#7172) +resetAutoStash=$(git config --bool rebase.autoStash 2>&1) +git config rebase.autoStash true # Update upstream remote to ohmyzsh org remote=$(git remote -v | awk '/https:\/\/github\.com\/robbyrussell\/oh-my-zsh\.git/{ print $1; exit }') @@ -38,7 +41,7 @@ if [ -n "$remote" ]; then fi printf "${BLUE}%s${NORMAL}\n" "Updating Oh My Zsh" -if git -c rebase.autoStash=true pull --rebase --stat origin master +if git pull --rebase --stat origin master then printf '%s' "$GREEN" printf '%s\n' ' __ __ ' @@ -53,3 +56,9 @@ then else printf "${RED}%s${NORMAL}\n" 'There was an error updating. Try again later?' fi + +# Unset git-config values set just for the upgrade +case "$resetAutoStash" in + "") git config --unset rebase.autoStash ;; + *) git config rebase.autoStash "$resetAutoStash" ;; +esac