]> git.phdru.name Git - dotfiles.git/blobdiff - admin/prog/bash_prompt
Fix(bash_prompt): Get upstream using old version of `git`
[dotfiles.git] / admin / prog / bash_prompt
index e04e6e86e83bc30556d3d6631b872e1b21280ada..aedf458e7b192eb600b5774c0d843fefb1e1cc9b 100644 (file)
@@ -69,23 +69,39 @@ prompt_git() {
                       git rev-parse --short HEAD 2> /dev/null || \
                       printf "(unknown)")"
 
-        [ -n "$s" ] && s=" [$s]"
+        up=`git rev-parse --abbrev-ref @{u} 2>/dev/null`
+        if [ -n "$up" -a "$up" != "@{u}" ]; then
+            local left right
+            set -- `git rev-list --count --left-right @{u}...HEAD`
+            left=$1
+            right=$2
+            if [ "$left" -gt 0 -o "$right" -gt 0 ]; then
+                if [ "$left" -gt 0 ]; then
+                    s="$s-$left"
+                fi
+                if [ "$right" -gt 0 ]; then
+                    s="$s+$right"
+                fi
+            fi
+        fi
+
+        [ -n "$s" ] && s=" $s"
         printf " (%s)" "$branchName$s"
     fi
 }
 
-if test -x /usr/bin/git >/dev/null 2>&1; then
-   if [ "`type -t __git_ps1`" != function ]; then
-      git_sh_prompt=`git --exec-path`/git-sh-prompt
-      test -r $git_sh_prompt && . $git_sh_prompt || :
-   fi
-   if [ "`type -t __git_ps1`" = function ]; then
-      GIT_PS1_SHOWDIRTYSTATE=true
-      GIT_PS1_SHOWSTASHSTATE=true
-      GIT_PS1_SHOWUNTRACKEDFILES=true
-      GIT_PS1_SHOWUPSTREAM=verbose
-   fi
-fi
+#if test -x /usr/bin/git >/dev/null 2>&1; then
+#   if [ "`type -t __git_ps1`" != function ]; then
+#      git_sh_prompt=`git --exec-path`/git-sh-prompt
+#      test -r $git_sh_prompt && . $git_sh_prompt || :
+#   fi
+#   if [ "`type -t __git_ps1`" = function ]; then
+#      GIT_PS1_SHOWDIRTYSTATE=true
+#      GIT_PS1_SHOWSTASHSTATE=true
+#      GIT_PS1_SHOWUNTRACKEDFILES=true
+#      GIT_PS1_SHOWUPSTREAM=verbose
+#   fi
+#fi
 
 set_prompts() {
       OPS1=''
@@ -110,11 +126,11 @@ set_prompts() {
    OPS1+="${debian_chroot:+($debian_chroot)}"
    OPS1+="\`cgmem_which_prompt\`\u@\${HOSTNAME::5}:\`short_curdir\`"
    if test -x /usr/bin/git >/dev/null 2>&1; then
-      if [ "`type -t __git_ps1`" = function ]; then
-         OPS1+="\$(__git_ps1)"
-      else
+      #if [ "`type -t __git_ps1`" = function ]; then
+      #   OPS1+="\$(__git_ps1)"
+      #else
          OPS1+="\$(prompt_git)"
-      fi
+      #fi
    fi
    # This is for .screenrc: shelltitle "\$ |$SHELL"
    #OPS1+="\[\033k\033\\\\\]"