浏览代码

fix(updater): search for upstream remote if using non-conventional name (#11135)

Fixes #11135
Marc Cornellà 1 年之前
父节点
当前提交
6ef236dd99
共有 1 个文件被更改,包括 16 次插入8 次删除
  1. 16 8
      tools/upgrade.sh

+ 16 - 8
tools/upgrade.sh

@@ -1,5 +1,7 @@
 #!/usr/bin/env zsh
 
+local ret=0 # exit code
+
 # Protect against running with shells other than zsh
 if [ -z "$ZSH_VERSION" ]; then
   exec zsh "$0" "$@"
@@ -181,17 +183,23 @@ fi
 # Update upstream remote to ohmyzsh org
 git remote -v | while read remote url extra; do
   case "$url" in
+  git://github.com/robbyrussell/oh-my-zsh(|.git))
+    # Update out-of-date "unauthenticated git protocol on port 9418" to https
+    git remote set-url "$remote" "https://github.com/ohmyzsh/ohmyzsh.git" ;;
   https://github.com/robbyrussell/oh-my-zsh(|.git))
-    git remote set-url "$remote" "https://github.com/ohmyzsh/ohmyzsh.git"
-    break ;;
+    git remote set-url "$remote" "https://github.com/ohmyzsh/ohmyzsh.git" ;;
   git@github.com:robbyrussell/oh-my-zsh(|.git))
-    git remote set-url "$remote" "git@github.com:ohmyzsh/ohmyzsh.git"
-    break ;;
-  # Update out-of-date "unauthenticated git protocol on port 9418" to https
-  git://github.com/robbyrussell/oh-my-zsh(|.git))
-    git remote set-url "$remote" "https://github.com/ohmyzsh/ohmyzsh.git"
-    break ;;
+    git remote set-url "$remote" "git@github.com:ohmyzsh/ohmyzsh.git" ;;
+  https://github.com/ohmyzsh/ohmyzsh(|.git)) ;;
+  git@github.com:ohmyzsh/ohmyzsh(|.git)) ;;
+  *) continue ;;
   esac
+
+  # If we reach this point we have found the proper ohmyzsh upstream remote. If we don't,
+  # we'll only update from the set remote if `oh-my-zsh.remote` has been set to a remote,
+  # as when installing from a fork.
+  git config --local oh-my-zsh.remote "$remote"
+  break
 done
 
 # Set git-config values known to fix git errors