update svn plugin for untracked filed

This commit is contained in:
shiludeng 2015-02-06 19:09:15 +08:00
commit 673c664cb0

View file

@ -61,18 +61,21 @@ function svn_get_rev_nr() {
function svn_dirty_choose() { function svn_dirty_choose() {
if in_svn; then if in_svn; then
root=`svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p'` root=`svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p'`
if $(svn status $root 2> /dev/null | grep -Eq '^\s*[ACDIM!?L]'); then status_str=`svn status $root 2> /dev/null`
if $(echo $status_str | grep -Eq '^\s*[ACDIM!L]'); then
# Grep exits with 0 when "One or more lines were selected", return "dirty". # Grep exits with 0 when "One or more lines were selected", return "dirty".
echo $1 echo $1
elif $(echo $status_str | grep -Eq '^\s*[?]'); then
echo $2
else else
# Otherwise, no lines were found, or an error occurred. Return clean. # Otherwise, no lines were found, or an error occurred. Return clean.
echo $2 echo $3
fi fi
fi fi
} }
function svn_dirty() { function svn_dirty() {
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_UNTRACKED $ZSH_THEME_SVN_PROMPT_CLEAN
} }
function svn_dirty_choose_pwd () { function svn_dirty_choose_pwd () {