zsh:mvln(): Revert "Create relative symlinks"

This reverts commit 226f09b046.

I don't want to have relative links all the time.

TODO: If target is a relative path, make the link relative too
TODO: Support --relative flag
This commit is contained in:
2023-07-10 14:03:50 +02:00
parent 2d277c5f54
commit f193e0071d

View File

@@ -340,7 +340,7 @@ if (( $+commands[trash] )); then
}
fi
# Move one or more file(s) but keep a relative symlink to the new location.
# Move one or more file(s) but keep a symlink to the new location.
mvln() {
if (( # < 2 )); then
printf "$0: missing file operand\n"
@@ -358,7 +358,10 @@ mvln() {
local file reg=0
for file in "${@[1,-2]}"; do
target="${@[-1]}"
# NOTE: We need absolute paths here for executions like `$0 foo/bar .`
# TODO: When do we want/can we use relative links? Only when file is in
# current dir?
target="${@[-1]:A}"
# If the target is a directory, `file` will end up in it
[[ ! -d ${@[-1]} ]] || target+="/$file:t"
@@ -368,7 +371,7 @@ mvln() {
fi
# NOTE: `ln` does not like trailing slashes on the last argument
ln -sr "$target" "${file%/}"
ln -s "$target" "${file%/}"
done
return $reg