diff --git a/antigen.zsh b/antigen.zsh index 63d3a3b..2ffb667 100644 --- a/antigen.zsh +++ b/antigen.zsh @@ -316,11 +316,16 @@ antigen-revert () { # "what's new" message. antigen-selfupdate () { ( cd $_ANTIGEN_INSTALL_DIR - if [[ ! -d .git ]]; then + if [[ ! ( -d .git || -f .git ) ]]; then echo "Your copy of antigen doesn't appear to be a git clone. " \ "The 'selfupdate' command cannot work in this case." return 1 fi + local head="$(git rev-parse --abbrev-ref HEAD)" + if [[ $head == "HEAD" ]]; then + # If current head is detached HEAD, checkout to master branch. + git checkout master + fi git pull ) }