From 8362f872f43ad6cfe576ec37a8d6db427e33652d Mon Sep 17 00:00:00 2001 From: Lucas Date: Fri, 13 Dec 2019 10:54:20 +0000 Subject: [PATCH] More shgit rework - Use -q in git-symbolic-ref - Improve ahead / behind count a bit by assigning it to positional parameters and getting rid of a conditional --- utils/shgit | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/utils/shgit b/utils/shgit index 8359112..15bd9f3 100644 --- a/utils/shgit +++ b/utils/shgit @@ -16,8 +16,7 @@ shgit() gitdir=$(git rev-parse --git-dir 2>/dev/null) && [ -n "$gitdir" ] || return - name=$(git symbolic-ref --short HEAD 2>/dev/null) - if [ -z "$name" ]; then + if ! name=$(git symbolic-ref -q --short HEAD); then name=$(git rev-parse --short HEAD 2>/dev/null) name=${hash:-?} fi @@ -37,14 +36,12 @@ shgit() status= [ -n "$(git status --porcelain)" ] && status=${SHGIT_SEP}* - commits=$(git rev-list --left-right --count @{upstream}...HEAD \ - 2>/dev/null | tr "\t" ^) - if [ -n "$commits" ]; then - commits=v$commits - commits=${commits#v0} - commits=${commits%^0} - commits=${commits:+$SHGIT_SEP$commits} - fi + IFS=" " set -- $(git rev-list --left-right --count \ + @{upstream}...HEAD 2>/dev/null) + commits=v${1:-0}^${2:-0} + commits=${commits#v0} + commits=${commits%^0} + commits=${commits:+$SHGIT_SEP$commits} printf "%s%s%s" "$SHGIT_BEGIN" "$name$rb$status$commits" "$SHGIT_END" }