rebar_dir: Avoid canonicalizing the CWD (get_cwd/0
)
#2925
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The unix BIF which ultimately implements
file:get_cwd/0
uses getcwd(3) which returns a canonicalized path, resolving any symlinks. Instead we should try to preserve the non-canonicalized path by reading the $PWD environment variable set by Posix shells. We should prefer $PWD tofile:get_cwd()
when it canonicalizes to the same path. This emulates the behavior ofpwd -L
(the default behavior ofpwd
).WhatsApp/erlang-language-platform#65 has more details on the motivation of this change. On my machine
rebar3 experimental manifest
emits canonicalized paths which confuse tools like ELP that comumnicate these paths with editors.