about summary refs log tree commit diff
path: root/Misc/vcs_info-examples
diff options
context:
space:
mode:
Diffstat (limited to 'Misc/vcs_info-examples')
-rw-r--r--Misc/vcs_info-examples16
1 files changed, 16 insertions, 0 deletions
diff --git a/Misc/vcs_info-examples b/Misc/vcs_info-examples
index b76990681..bc10a2179 100644
--- a/Misc/vcs_info-examples
+++ b/Misc/vcs_info-examples
@@ -178,6 +178,22 @@ function +vi-git-st() {
     hook_com[misc]+=${(j:/:)gitstatus}
 }
 
+### git: Show remote branch name for remote-tracking branches
+zstyle ':vcs_info:git*+set-message:*' hooks git-remotebranch
+
+function +vi-git-remotebranch() {
+    local remote
+
+    # Are we on a remote-tracking branch?
+    remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} \
+        --symbolic-full-name 2>/dev/null)/refs\/remotes\/}
+
+    if [[ -n ${remote} ]] ; then
+        hook_com[branch]="${hook_com[branch]} [${remote}]"
+    fi
+}
+
+
 ### hg: Show marker when the working directory is not on a branch head
 # This may indicate that running `hg up` will do something
 # NOTE: the branchheads.cache file is not updated with every Mercurial