summaryrefslogtreecommitdiff
path: root/lib/git.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/git.zsh')
-rw-r--r--lib/git.zsh12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/git.zsh b/lib/git.zsh
index 1c76d5882..648a766b5 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -76,13 +76,19 @@ function git_current_branch() {
# Gets the number of commits ahead from remote
function git_commits_ahead() {
- if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
- local COMMITS
- COMMITS=$(command git log @{upstream}..HEAD | grep '^commit' | wc -l | tr -d ' ')
+ if $(command git rev-parse --git-dir > /dev/null 2>&1); then
+ local COMMITS="$(git rev-list --count @{upstream}..HEAD)"
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$COMMITS$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
fi
}
+# Gets the number of commits behind remote
+function git_commits_behind() {
+ if $(command git rev-parse --git-dir > /dev/null 2>&1); then
+ echo $(git rev-list --count HEAD..@{upstream})
+ fi
+}
+
# Outputs if current branch is ahead of remote
function git_prompt_ahead() {
if [[ -n "$(command git rev-list origin/$(git_current_branch)..HEAD 2> /dev/null)" ]]; then