summaryrefslogtreecommitdiff
path: root/Functions/VCS_Info/VCS_INFO_bydir_detect
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2018-08-27 13:31:04 +0200
committerAxel Beckert <abe@deuxchevaux.org>2018-08-27 13:31:04 +0200
commit719a715614f2182a76b30ad27a327d70a86f34f1 (patch)
treea437eb29da8035bf7c2e30506c08fe6f15719871 /Functions/VCS_Info/VCS_INFO_bydir_detect
parent7da8d19c224860ae4d6aa3f077fca7f734f20d88 (diff)
parentef61918398517473b9b594690a3be375f607cebe (diff)
downloadzsh-719a715614f2182a76b30ad27a327d70a86f34f1.tar.gz
zsh-719a715614f2182a76b30ad27a327d70a86f34f1.zip
Merge tag 'zsh-5.5.1-test-2' into debian
Test release: 5.5.1-test-2.
Diffstat (limited to 'Functions/VCS_Info/VCS_INFO_bydir_detect')
-rw-r--r--Functions/VCS_Info/VCS_INFO_bydir_detect15
1 files changed, 7 insertions, 8 deletions
diff --git a/Functions/VCS_Info/VCS_INFO_bydir_detect b/Functions/VCS_Info/VCS_INFO_bydir_detect
index 70b0fb6fa..b20c05c9c 100644
--- a/Functions/VCS_Info/VCS_INFO_bydir_detect
+++ b/Functions/VCS_Info/VCS_INFO_bydir_detect
@@ -4,11 +4,11 @@
setopt localoptions NO_shwordsplit
local dirname=$1
-local basedir="." realbasedir file
+local basedir="." file
-realbasedir="$(VCS_INFO_realpath ${basedir})"
-while [[ ${realbasedir} != '/' ]]; do
- [[ -r ${realbasedir} ]] || return 1
+basedir=${basedir:P}
+while [[ ${basedir} != '/' ]]; do
+ [[ -r ${basedir} ]] || return 1
if [[ -n ${vcs_comm[detect_need_file]} ]] ; then
[[ -d ${basedir}/${dirname} ]] && {
for file in ${(s: :)${vcs_comm[detect_need_file]}}; do
@@ -19,10 +19,9 @@ while [[ ${realbasedir} != '/' ]]; do
[[ -d ${basedir}/${dirname} ]] && break
fi
- basedir=${basedir}/..
- realbasedir="$(VCS_INFO_realpath ${basedir})"
+ basedir=${basedir:h}
done
-[[ ${realbasedir} == "/" ]] && return 1
-vcs_comm[basedir]=${realbasedir}
+[[ ${basedir} == "/" ]] && return 1
+vcs_comm[basedir]=${basedir}
return 0