From fbfc081675dda4f3492fb1b486bb5ffe04d886d4 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sun, 4 Mar 2018 17:42:03 -0500 Subject: [PATCH] Fix git_commits_{ahead,before} when no upstream branch is defined If @{u} is not defined, git rev-list will give an error; redirect to stderr the error and deal with this case in what follows. --- lib/git.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index 9b0f6e36f..b55b762d7 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -77,8 +77,8 @@ function git_current_branch() { # Gets the number of commits ahead from remote function git_commits_ahead() { if command git rev-parse --git-dir &>/dev/null; then - local commits="$(git rev-list --count @{upstream}..HEAD)" - if [[ "$commits" != 0 ]]; then + local commits="$(git rev-list --count @{upstream}..HEAD 2>/dev/null)" + if [[ -n "$commits" && "$commits" != 0 ]]; then echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$commits$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX" fi fi @@ -87,8 +87,8 @@ function git_commits_ahead() { # Gets the number of commits behind remote function git_commits_behind() { if command git rev-parse --git-dir &>/dev/null; then - local commits="$(git rev-list --count HEAD..@{upstream})" - if [[ "$commits" != 0 ]]; then + local commits="$(git rev-list --count HEAD..@{upstream} 2>/dev/null)" + if [[ -n "$commits" && "$commits" != 0 ]]; then echo "$ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX$commits$ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX" fi fi