aboutsummaryrefslogtreecommitdiffstats
path: root/hyperterm/core/git.sh
diff options
context:
space:
mode:
Diffstat (limited to 'hyperterm/core/git.sh')
-rw-r--r--hyperterm/core/git.sh29
1 files changed, 18 insertions, 11 deletions
diff --git a/hyperterm/core/git.sh b/hyperterm/core/git.sh
index accb1e3..6cf9854 100644
--- a/hyperterm/core/git.sh
+++ b/hyperterm/core/git.sh
@@ -146,22 +146,28 @@ function _git_dirty_count() {
fi
}
+___upstream="$(git rev-parse --symbolic-full-name --abbrev-ref "@{upstream}" 2> /dev/null)"
+
function _git_behind_count() {
local __behind_count
- __behind_count="$(git rev-list --left-right --count origin/master...HEAD | cut -f1 2> /dev/null)"
- case $__behind_count in
- 0) echo -n '';;
- *) echo -n "$__behind_count";;
- esac
+ if [[ -s $___upstream ]]; then
+ __behind_count="$(git rev-list --left-right --count "$___upstream"...HEAD | cut -f1 2> /dev/null)"
+ case $__behind_count in
+ 0) echo -n '';;
+ *) echo -n "$__behind_count";;
+ esac
+ fi
}
function _git_ahead_count() {
local __ahead_count
- __ahead_count="$(git rev-list --left-right --count origin/master...HEAD | cut -f2 2> /dev/null)"
- case $__ahead_count in
- 0) echo -n '';;
- *) echo -n "$__ahead_count";;
- esac
+ if [[ -s $___upstream ]]; then
+ __ahead_count="$(git rev-list --left-right --count "$___upstream"...HEAD | cut -f2 2> /dev/null)"
+ case $__ahead_count in
+ 0) echo -n '';;
+ *) echo -n "$__ahead_count";;
+ esac
+ fi
}
# ends counter on git
@@ -278,7 +284,7 @@ function _prompt_get_git_status() {
011110011) printf '%s%s' "${__ps}${__dss}${__nfs}${__uts}" "$count_dirty";;
011111011) printf '%s%s' "${__ps}${__dss}${__uts}" "$count_dirty";;
011101001) printf '%s%s' "${__ps}${__dss}${__usts}${__uts}${__dfs}" "$count_dirty";;
- 011101001) printf '%s%s' "${__ps}${__dss}${__usts}${__dfs}" "$count_dirty";;
+ 011001111) printf '%s%s' "${__ps}${__dss}${__stusts}" "$count_dirty";;
011111110) printf '%s%s' "${__ps}${__dss}${__rns}" "$count_dirty";;
011110110) printf '%s%s' "${__ps}${__dss}${__nfs}${__rns}" "$count_dirty";;
011110010) printf '%s%s' "${__ps}${__dss}${__nfs}${__uts}${__rns}" "$count_dirty";;
@@ -312,6 +318,7 @@ function _prompt_get_git_status() {
001111011) printf '%s%s' "${__ps}${__duus}${__uts}" "$count_dirty";;
001101001) printf '%s%s' "${__ps}${__duus}${__usts}${__uts}${__dfs}" "$count_dirty";;
001101101) printf '%s%s' "${__ps}${__duus}${__usts}${__dfs}" "$count_dirty";;
+ 111001111) printf '%s%s' "${__ps}${__duus}${__stusts}" "$count_dirty";;
001111110) printf '%s%s' "${__ps}${__duus}${__rns}" "$count_dirty";;
001110110) printf '%s%s' "${__ps}${__duus}${__nfs}${__rns}" "$count_dirty";;
001110010) printf '%s%s' "${__ps}${__duus}${__nfs}${__uts}${__rns}" "$count_dirty";;