I am on a mac system. I assume this would be the same for a linux system too, but a mac system is my assumption.
I upgraded on login prompt, and then it failed. Gave a bunch of parse errors, mainly full with
^M characters. The fix is in theory universal, not specific to this problem.
The cause of that is git's autocrlf rule. If you type
git config --list, and you see this line:
core.autocrlf=true, then we know that is the reason it went wrong.
Since zsh is giving you a parse error, you can't run
upgrade_oh_my_zsh as is from the command prompt. You'd get a command not found for it.
To fix it
These should be good for all fixes, not just for the specific one I encountered.
$ git config --global core.autocrlf falseto turn off the offending rule. Yes, I know if you work with Windows based line ending things this could cause trouble, but there are other ways of solving it (ignore white space, ignore EOL char, etc)
$ cd ~/.oh-my-zsh/tools/to get into the directory. Technically you can issue the important command from
~, but this way is easier.
$ sh ./upgrade.sh. One of two things can happen: it's either successfull, or git will complain that you have unstaged changes. If the latter happens, carry on.
$ git status(we're still in the
~/.oh-my-zsh/toolsfolder!). It should give you a list of files that have been changed.
$ git reset --hard HEAD. This will restore sanity for git. Once done, run point 3 again, and you should win at that point.