1
0
mirror of https://github.com/pyenv/pyenv.git synced 2025-11-09 12:03:49 -05:00

Fix abs_dirname for relative symlinks in same directory

Ref (abs_dirname in bats): https://github.com/sstephenson/bats/pull/224
Ref: https://github.com/rbenv/rbenv/pull/868

Fixes https://github.com/pyenv/pyenv/issues/580
This commit is contained in:
Daniel Hahler
2018-09-19 10:08:46 +02:00
parent 5603eb51c9
commit 4f21d9a2ea
3 changed files with 22 additions and 9 deletions

View File

@@ -60,20 +60,21 @@ resolve_link() {
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
# Use a subshell to avoid modifying the current path
# Use a subshell to avoid changing the current path
(
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
cd_path="${path%/*}"
if [[ "$cd_path" != "$path" ]]; then
cd "$cd_path"
fi
name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
pwd
echo "$PWD"
)
# cd "$cwd"
}
capitalize() {