summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2014-11-06 09:24:18 -0800
committerRobby Russell <robby@planetargon.com>2014-11-06 09:24:18 -0800
commit0f7e5e41b83006d4897682fe81547b608824c7ba (patch)
tree8ebe3cc41b005f70108b942be99d4d9683ec0cad
parent1b65c55fcffe5dcfea03cffa10bcb8fa9a1e2138 (diff)
parent81004dfaba509ff62a13ba303ab941938d619326 (diff)
downloadzsh-0f7e5e41b83006d4897682fe81547b608824c7ba.tar.gz
zsh-0f7e5e41b83006d4897682fe81547b608824c7ba.tar.bz2
zsh-0f7e5e41b83006d4897682fe81547b608824c7ba.zip
Merge branch 'simonbuchan-master'
-rw-r--r--lib/git.zsh31
1 files changed, 15 insertions, 16 deletions
diff --git a/lib/git.zsh b/lib/git.zsh
index e1ca9b113..aba095422 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -10,23 +10,20 @@ function git_prompt_info() {
# Checks if working tree is dirty
parse_git_dirty() {
- local SUBMODULE_SYNTAX=''
- local GIT_STATUS=''
- local CLEAN_MESSAGE='nothing to commit (working directory clean)'
- if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then
+ local STATUS=''
+ local FLAGS
+ FLAGS=('--porcelain')
+ if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then
if [[ $POST_1_7_2_GIT -gt 0 ]]; then
- SUBMODULE_SYNTAX="--ignore-submodules=dirty"
+ FLAGS+='--ignore-submodules=dirty'
fi
if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" == "true" ]]; then
- GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1)
- else
- GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1)
- fi
- if [[ -n $GIT_STATUS ]]; then
- echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
- else
- echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
+ FLAGS+='--untracked-files=no'
fi
+ STATUS=$(command git status ${FLAGS} 2> /dev/null | tail -n1)
+ fi
+ if [[ -n $STATUS ]]; then
+ echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
else
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
fi
@@ -135,17 +132,19 @@ function git_compare_version() {
INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]});
for i in {1..3}; do
+ if [[ $INSTALLED_GIT_VERSION[$i] -gt $INPUT_GIT_VERSION[$i] ]]; then
+ echo 1
+ return 0
+ fi
if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then
echo -1
return 0
fi
done
- echo 1
+ echo 0
}
#this is unlikely to change so make it all statically assigned
POST_1_7_2_GIT=$(git_compare_version "1.7.2")
#clean up the namespace slightly by removing the checker function
unset -f git_compare_version
-
-