Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support relative paths and symlinks in adapters #309

Merged
merged 4 commits into from
Dec 17, 2021

Conversation

ChristopherHogan
Copy link
Collaborator

Fixes #179, fixes #180.

  • Expand all paths intercepted by adapters into their "canonical" forms, which means resolve all symlinks, remove any extra slashes, and resolve all instances of . and ...
  • The C++17 filesystem library provides the function filesystem::weakly_canonical, which expands paths (both existent and non-existent) as described above. However, it is only available in gcc >= 9. In order to continue supporting gcc 7 (the version installed on the Ares cluster), I've ported weakly_canonical from libstdc++ into hermes.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.4%) to 81.046% when pulling 18e8556 on chogan/adapter_paths into 3029073 on master.

@ChristopherHogan ChristopherHogan merged commit 9bf5458 into master Dec 17, 2021
@ChristopherHogan ChristopherHogan deleted the chogan/adapter_paths branch December 17, 2021 20:37
@ChristopherHogan ChristopherHogan added the enhancement New feature or request label Dec 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support relative paths in adapters Follow symlinks when checking exclusion/inclusion paths in stdio adapter
2 participants