diff options
author | Daniel Shahaf <d.s@daniel.shahaf.name> | 2014-05-25 21:53:35 +0000 |
---|---|---|
committer | Frank Terbeck <ft@bewatermyfriend.org> | 2014-05-29 16:50:07 +0200 |
commit | bb271217fe16bc260a4a7ffa29b674c2a7abbc8e (patch) | |
tree | 85b9288d3a571998e5ef291acaed00411ab61a52 /Functions/VCS_Info/Backends | |
parent | d082827c8326706e734b20981b4a4d986e0d54ff (diff) | |
download | zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.gz zsh-bb271217fe16bc260a4a7ffa29b674c2a7abbc8e.tar.xz 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/Backends')
-rw-r--r-- | Functions/VCS_Info/Backends/VCS_INFO_get_data_svn | 8 |
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 |