If we have a directory tree like the following:
- .git
|
-- .hg
vcs_info_msg_[01]_ are not set correctly. The hg repository is ignored
and only the git repository is recognized. I have enabled both git and
hg for vcs_info.
It seems that in vcs_info, the detection of each VCS is called:
(( found = 0 ))
for vcs in ${enabled} ; do
[[ -n ${(M)disabled:#${vcs}} ]] && continue
if (( ${+functions[VCS_INFO_detect_${vcs}]} == 0 )) ; then
printf 'vcs_info: configured unknown backend: '\''%s'\''\n' ${vcs}
printf 'vcs_info: use '\''vcs_info_printsys'\'' to find supported systems.\n'
continue
fi
vcs_comm=()
VCS_INFO_get_cmd
VCS_INFO_detect_${vcs} && (( found = 1 )) && break
done
Instead, to get the correct result, one should detect current directory
for all VCS, then one level up and detect all VCS again, until '/' is
met.
Hong
Attachment:
signature.asc
Description: PGP signature