summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hilburn <bhilburn@gmail.com>2016-04-12 17:54:10 +0300
committerBen Hilburn <bhilburn@gmail.com>2016-04-12 17:54:10 +0300
commita09eda677421bea934a08a0d1bc5196ab973d853 (patch)
treef1ef576afd073a6d2a2a341abc294f8a819a320f
parent0f4e3e7588fff005a8ad275915f390817f804345 (diff)
Fixing comments in vi-git
-tagname
-rw-r--r--functions/vcs.zsh11
1 files changed, 6 insertions, 5 deletions
diff --git a/functions/vcs.zsh b/functions/vcs.zsh
index 3a5a6cb5..63cdbc75 100644
--- a/functions/vcs.zsh
+++ b/functions/vcs.zsh
@@ -61,9 +61,7 @@ function +vi-git-remotebranch() {
}
function +vi-git-tagname() {
- # Only show the tag name if we are not in DETACHED_HEAD state,
- # or if the current branch's HEAD is the same commit as a tag but
- # doesn't have the same name
+ # If we are on a tag, append the tagname to the current branch string.
local tag
tag=$(git describe --tags --exact-match HEAD 2>/dev/null)
@@ -71,12 +69,15 @@ function +vi-git-tagname() {
# There is a tag that points to our current commit. Need to determine if we
# are also on a branch, or are in a DETACHED_HEAD state.
if [[ -z $(git symbolic-ref HEAD 2>/dev/null) ]]; then
- # DETACHED_HEAD state. Print the commit hash and tag name.
+ # DETACHED_HEAD state. We want to append the tag name to the commit hash
+ # and print it. Unfortunately, `vcs_info` blows away the hash when a tag
+ # exists, so we have to manually retrieve it and clobber the branch
+ # string.
local revision
revision=$(git rev-list -n 1 --abbrev-commit --abbrev=8 HEAD)
hook_com[branch]="$(print_icon 'VCS_BRANCH_ICON')${revision} $(print_icon 'VCS_TAG_ICON')${tag}"
else
- # We are on both a tag and a branch; print both.
+ # We are on both a tag and a branch; print both by appending the tag name.
hook_com[branch]+=" $(print_icon 'VCS_TAG_ICON')${tag}"
fi
fi