From: Richard Hartmann <richih@debian.org>
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?hp=6046fecd2148d7ab42e9c68bcc8ce04d74fe10cd

vcsh: Make status() show commit offsets to remote tracking branch

github: Fixes richih/vcsh#123
---

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