Browse Source

Revert "fix(lib): don't return clean with `hide-dirty=1` in `parse_git_dirty`" (#10927)

Marc Cornellà 2 years ago
parent
commit
dfee71c773
1 changed files with 16 additions and 20 deletions
  1. 16 20
      lib/git.zsh

+ 16 - 20
lib/git.zsh

@@ -34,30 +34,26 @@ function git_prompt_info() {
 
 # Checks if working tree is dirty
 function parse_git_dirty() {
-  if [[ "$(__git_prompt_git config --get oh-my-zsh.hide-dirty)" == "1" ]]; then
-    return 0
-  fi
-
   local STATUS
   local -a FLAGS
   FLAGS=('--porcelain')
-  if [[ "${DISABLE_UNTRACKED_FILES_DIRTY:-}" == "true" ]]; then
-    FLAGS+='--untracked-files=no'
+  if [[ "$(__git_prompt_git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then
+    if [[ "${DISABLE_UNTRACKED_FILES_DIRTY:-}" == "true" ]]; then
+      FLAGS+='--untracked-files=no'
+    fi
+    case "${GIT_STATUS_IGNORE_SUBMODULES:-}" in
+      git)
+        # let git decide (this respects per-repo config in .gitmodules)
+        ;;
+      *)
+        # if unset: ignore dirty submodules
+        # other values are passed to --ignore-submodules
+        FLAGS+="--ignore-submodules=${GIT_STATUS_IGNORE_SUBMODULES:-dirty}"
+        ;;
+    esac
+    STATUS=$(__git_prompt_git status ${FLAGS} 2> /dev/null | tail -n 1)
   fi
-
-  case "${GIT_STATUS_IGNORE_SUBMODULES:-}" in
-    git)
-      # let git decide (this respects per-repo config in .gitmodules)
-      ;;
-    *)
-      # if unset: ignore dirty submodules
-      # other values are passed to --ignore-submodules
-      FLAGS+="--ignore-submodules=${GIT_STATUS_IGNORE_SUBMODULES:-dirty}"
-      ;;
-  esac
-
-  STATUS=$(__git_prompt_git status ${FLAGS} 2> /dev/null | tail -n 1)
-  if [[ -n "$STATUS" ]]; then
+  if [[ -n $STATUS ]]; then
     echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
   else
     echo "$ZSH_THEME_GIT_PROMPT_CLEAN"