mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-23 16:40:24 +02:00
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.
This commit is contained in:
parent
d082827c83
commit
bb271217fe
2 changed files with 10 additions and 3 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue