about summary refs log tree commit diff
path: root/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-02-16 10:09:15 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-02-16 10:09:15 +0000
commit94777f64e8963b5418ce86c8e8bb51ad7094587e (patch)
tree620feb7fd2e81310d52524d876fdc8d65145b8b5 /Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
parent8b1da80a7a432bd88c4cdef1f8fb1245f0fbbf64 (diff)
downloadzsh-94777f64e8963b5418ce86c8e8bb51ad7094587e.tar.gz
zsh-94777f64e8963b5418ce86c8e8bb51ad7094587e.tar.xz
zsh-94777f64e8963b5418ce86c8e8bb51ad7094587e.zip
Frank Terbeck, Seth House: 27712, 22713, 27714:
VCS Info hooks and Mercurial improvements
Diffstat (limited to 'Functions/VCS_Info/Backends/VCS_INFO_get_data_svn')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_svn9
1 files changed, 8 insertions, 1 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
index 75da22bda..b1cb7302b 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
@@ -7,6 +7,7 @@
 setopt localoptions noksharrays extendedglob NO_shwordsplit
 local svnbase svnbranch a b rrn
 local -A svninfo parentinfo
+local -xA hook_com
 
 svnbase=".";
 svninfo=()
@@ -23,6 +24,12 @@ svnbase="$(VCS_INFO_realpath ${svnbase})"
 
 rrn=${svnbase:t}
 zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat svnbranch || svnbranch="%b:%r"
-zformat -f svnbranch "${svnbranch}" "b:${svninfo[URL]##*/}" "r:${svninfo[Revision]}"
+hook_com=( branch "${svninfo[URL]##*/}" revision "${svninfo[Revision]}" )
+if VCS_INFO_hook 'set-branch-format' "${svnbranch}"; then
+    zformat -f svnbranch "${svnbranch}" "b:${hook_com[branch]}" "r:${hook_com[revision]}"
+else
+    svnbranch=${hook_com[branch-replace]}
+fi
+hook_com=()
 VCS_INFO_formats '' "${svnbranch}" "${svnbase}" '' '' "${svninfo[Revision]}" ''
 return 0