summaryrefslogtreecommitdiff
path: root/lib/git.zsh
diff options
context:
space:
mode:
authorzghember <zghpku@gmail.com>2014-12-15 00:23:34 +0800
committerzghember <zghpku@gmail.com>2014-12-15 00:23:34 +0800
commit6fd0b73e9aba568640005798f737cd73ad0bfdf4 (patch)
tree22f3654e0c00ffd1cb9c3c05ca5d8bffa190cc1f /lib/git.zsh
parent6f70d288cc4625142413227109bf1eeac7e2a180 (diff)
parent141c2e593401f245a9f9bb0799ada8bf14b677d7 (diff)
downloadzsh-6fd0b73e9aba568640005798f737cd73ad0bfdf4.tar.gz
zsh-6fd0b73e9aba568640005798f737cd73ad0bfdf4.tar.bz2
zsh-6fd0b73e9aba568640005798f737cd73ad0bfdf4.zip
Merge commit '141c2e593401f245a9f9bb0799ada8bf14b677d7'
Diffstat (limited to 'lib/git.zsh')
-rw-r--r--lib/git.zsh31
1 files changed, 15 insertions, 16 deletions
diff --git a/lib/git.zsh b/lib/git.zsh
index 7aa5a0ea2..748520a6f 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-status)" != "1" ]]; then
+ local STATUS=''
+ local FLAGS
+ FLAGS=('--porcelain')
+ if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "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
-
-