diff --git a/lib/git/repo_index.sh b/lib/git/repo_index.sh index 17011e5..d28717f 100644 --- a/lib/git/repo_index.sh +++ b/lib/git/repo_index.sh @@ -166,8 +166,11 @@ function _git_index_count() { } # Returns the current git branch (returns nothing if not a git repository) -parse_git_branch() { - \git branch 2> /dev/null | sed "s/^\* \([^ ]*\)/\1/;tm;d;:m" +function is_git_dirty { + [[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*" + } +function parse_git_branch { + git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(is_git_dirty)]/" } # If the working directory is clean, update the git repository. Otherwise, show changes.