summaryrefslogtreecommitdiffstats
path: root/git-base.sh
diff options
context:
space:
mode:
authorMichael Allen <michael@michaelallen.io>2015-08-11 16:47:32 +0100
committerMichael Allen <michael@michaelallen.io>2015-08-11 16:47:32 +0100
commit284a88a8607cc7077aec376ca5f4b0c1b7e12c70 (patch)
tree237150deb61f42fb6cc676353794add5072da176 /git-base.sh
parent1f3b218b5cf79a414344b465cbb75af726721649 (diff)
downloadgit-sonar-284a88a8607cc7077aec376ca5f4b0c1b7e12c70.tar.gz
git-sonar-284a88a8607cc7077aec376ca5f4b0c1b7e12c70.zip
Provide a bash way to show remote commits
Diffstat (limited to 'git-base.sh')
-rwxr-xr-xgit-base.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/git-base.sh b/git-base.sh
index 3cf24b5..f75e89b 100755
--- a/git-base.sh
+++ b/git-base.sh
@@ -419,3 +419,28 @@ zsh_color_local_commits() {
fi
echo "$local_commits"
}
+
+bash_color_remote_commits() {
+ local remote_master="\xF0\x9D\x98\xAE" # an italic m to represent master
+ local green_ahead_arrow="\033[1;32m←\033[0m"
+ local red_behind_arrow="\033[1;31m→\033[0m"
+ local yellow_diverged_arrow="\033[1;33m⇄\033[0m"
+ local not_upstream="\033[1;31m⚡\033[0m"
+
+ if remote_branch="$(remote_branch_name)"; then
+ remote_ahead="$(remote_ahead_of_master "$remote_branch")"
+ remote_behind="$(remote_behind_of_master "$remote_branch")"
+
+ if [[ "$remote_behind" -gt "0" && "$remote_ahead" -gt "0" ]]; then
+ remote="$remote_master $remote_behind $yellow_diverged_arrow $remote_ahead "
+ elif [[ "$remote_ahead" -gt "0" ]]; then
+ remote="$remote_master $green_ahead_arrow $remote_ahead "
+ elif [[ "$remote_behind" -gt "0" ]]; then
+ remote="$remote_master $remote_behind $red_behind_arrow "
+ fi
+ else
+ remote="upstream $not_upstream "
+ fi
+
+ echo "$remote"
+}