summaryrefslogtreecommitdiffstats
path: root/Functions/VCS_Info
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/VCS_Info
parent32616: bad printf arguments for limits (diff)
downloadzsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar
zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.gz
zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.bz2
zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.lz
zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.xz
zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.zst
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/VCS_Info')
-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