Being able to create symlinks using relative paths is an important feature that both the ln utility on Unix and cmd's built-in command mklink on Windows support.
Currently, PowerShell invariably resolves the specified path to an absolute path when a symlink is created.
(#801 brought us the ability to create symlinks to non-existing targets, but even they are invariably resolved to an absolute path when the symlink is created).
Instead, the symlink should be defined with the target path exactly as specified.
Steps to reproduce (Unix)
$null = New-Item -ItemType SymbolicLink /tmp/$PID -Target ./foo -Force
readlink /tmp/$PID
Expected behavior
The symlink should be defined with the target path exactly as specified.
Actual behavior
The symlink was unexpectedly defined with an absolute path.
Environment data
PowerShell Core v6.0.0-alpha (v6.0.0-alpha.17) on Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64
Being able to create symlinks using relative paths is an important feature that both the
lnutility on Unix and cmd's built-in commandmklinkon Windows support.Currently, PowerShell invariably resolves the specified path to an absolute path when a symlink is created.
(#801 brought us the ability to create symlinks to non-existing targets, but even they are invariably resolved to an absolute path when the symlink is created).
Instead, the symlink should be defined with the target path exactly as specified.
Steps to reproduce (Unix)
Expected behavior
The symlink should be defined with the target path exactly as specified.
Actual behavior
The symlink was unexpectedly defined with an absolute path.
Environment data