From: Richard Hartmann Date: Wed, 22 Oct 2014 21:35:35 +0000 (+0200) Subject: vcsh: Make status() show commit offsets to remote tracking branch X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/35d1c19fd0099ffa87098e1bf7433f83a6fc2d18?ds=inline;hp=--cc vcsh: Make status() show commit offsets to remote tracking branch github: Fixes richih/vcsh#123 --- 35d1c19fd0099ffa87098e1bf7433f83a6fc2d18 diff --git a/vcsh b/vcsh index 0ec2bba..9d399d4 100755 --- a/vcsh +++ b/vcsh @@ -314,12 +314,12 @@ status() { echo "$VCSH_REPO_NAME:" GIT_DIR=$VCSH_REPO_D/$VCSH_REPO_NAME.git; export GIT_DIR use - # TODO repos without remote tracking branch error out - remote_tracking_branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u}) - commits_behind=$(git log ..${remote_tracking_branch} --oneline | wc -l) - commits_ahead=$(git log ${remote_tracking_branch}.. --oneline | wc -l) - [ ${commits_behind} -ne 0 ] && echo "Behind $remote_tracking_branch by $commits_behind commits" - [ ${commits_ahead} -ne 0 ] && echo "Ahead of $remote_tracking_branch by $commits_ahead commits" + remote_tracking_branch=$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2> /dev/null) && { + commits_behind=$(git log ..${remote_tracking_branch} --oneline | wc -l) + commits_ahead=$(git log ${remote_tracking_branch}.. --oneline | wc -l) + [ ${commits_behind} -ne 0 ] && echo "Behind $remote_tracking_branch by $commits_behind commits" + [ ${commits_ahead} -ne 0 ] && echo "Ahead of $remote_tracking_branch by $commits_ahead commits" + } git status --short --untracked-files='no' VCSH_COMMAND_RETURN_CODE=$? echo