1
0
mirror of https://github.com/Tarrasch/zsh-autoenv.git synced 2025-12-14 18:25:12 +02:00

Fix symlink handling, especially for symlinks not below "env_dir"

This commit is contained in:
Daniel Hahler
2015-01-19 18:57:47 +01:00
parent 392bca542c
commit 873b9f8062
3 changed files with 46 additions and 5 deletions

View File

@@ -33,5 +33,8 @@ Check that symlinked dirs get handled correctly.
$ cd sub_linked
ENTERED: PWD:sub_linked pwd:sub_linked from:cwd.t to:sub_linked event:enter
$ cd sub2
ENTERED: PWD:sub2 pwd:sub2 from:sub_linked to:sub2 event:enter
$ cd .
$ cd ../..
LEFT: PWD:cwd.t pwd:cwd.t from:sub2 to:cwd.t event:leave
$ cd sub_linked/sub2
ENTERED: PWD:sub2 pwd:sub2 from:cwd.t to:sub2 event:enter

View File

@@ -88,3 +88,28 @@ Test that .env is sourced only once with AUTOENV_HANDLE_LEAVE=0.
ENTERED
$ cd ..
$ cd sub
Test that "leave" is not triggered when entering an outside dir via symlink.
$ AUTOENV_HANDLE_LEAVE=1
$ cd ..
LEFT
$ mkdir outside
$ cd outside
$ echo 'echo ENTERED outside: PWD:${PWD:t} pwd:${${"$(pwd)"}:t} from:${autoenv_from_dir:t} to:${autoenv_to_dir:t} event:${autoenv_event}' > .env
$ echo 'echo LEFT outside: PWD:${PWD:t} pwd:${${"$(pwd)"}:t} from:${autoenv_from_dir:t} to:${autoenv_to_dir:t} event:${autoenv_event}' > .env.leave
$ test_autoenv_auth_env_files
$ cd ..
$ ln -s ../outside sub/symlink
$ cd sub
ENTERED
$ cd symlink
ENTERED outside: PWD:symlink pwd:symlink from:sub to:symlink event:enter
$ cd ../..
LEFT
LEFT outside: PWD:leave.t pwd:leave.t from:symlink to:leave.t event:leave
$ cd sub/symlink
ENTERED outside: PWD:symlink pwd:symlink from:leave.t to:symlink event:enter