summaryrefslogtreecommitdiff
path: root/Functions
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2014-05-25 21:53:35 +0000
committerFrank Terbeck <ft@bewatermyfriend.org>2014-05-29 16:50:07 +0200
commitbb271217fe16bc260a4a7ffa29b674c2a7abbc8e (patch)
tree85b9288d3a571998e5ef291acaed00411ab61a52 /Functions
parentd082827c8326706e734b20981b4a4d986e0d54ff (diff)
downloadzsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.gz
zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.zip
32619: vcs_info svn: Use the revision of cwd
Previously, the value of the wc root would be used. In Subversion, it makes more sense to use the revision of cwd, since all commands (e.g., 'svn ci', 'svnversion') operate only on cwd and below, not on wcroot and below.
Diffstat (limited to 'Functions')
-rw-r--r--Functions/VCS_Info/Backends/VCS_INFO_get_data_svn8
1 files changed, 5 insertions, 3 deletions
diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
index 41cc3e783..ae3c49959 100644
--- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
+++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_svn
@@ -7,7 +7,7 @@
setopt localoptions noksharrays extendedglob NO_shwordsplit
local svnbase svnbranch a b rrn
local -i rc
-local -A svninfo parentinfo
+local -A svninfo parentinfo cwdinfo
local -xA hook_com
svnbase=".";
@@ -28,6 +28,8 @@ done
#rc=${pipestatus[1]}
#(( rc != 0 )) && return 1
+cwdinfo=(${(kv)svninfo})
+
while [[ -d "${svnbase}/../.svn" ]]; do
parentinfo=()
${vcs_comm[cmd]} info --non-interactive "${svnbase}/.." | while IFS=: read a b; do parentinfo[${a// /_}]="${b## #}"; done
@@ -40,12 +42,12 @@ svnbase="$(VCS_INFO_realpath ${svnbase})"
rrn=${svnbase:t}
zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" branchformat svnbranch || svnbranch="%b:%r"
-hook_com=( branch "${svninfo[URL]##*/}" revision "${svninfo[Revision]}" )
+hook_com=( branch "${svninfo[URL]##*/}" revision "${cwdinfo[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]}" ''
+VCS_INFO_formats '' "${svnbranch}" "${svnbase}" '' '' "${cwdinfo[Revision]}" ''
return 0