From dfee71c7735b739d6db478b2353752aeb6bc1ae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 12 May 2022 18:25:02 +0200 Subject: [PATCH] Revert "fix(lib): don't return clean with `hide-dirty=1` in `parse_git_dirty`" (#10927) --- lib/git.zsh | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index 390c0ad4b..be9fa7e67 100644 --- a/lib/git.zsh +++ b/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"