Add --dereference-symlinks to vcpkg export#1705
Conversation
…toring vcpkg's install tree as all symlinks.
| inline constexpr StringLiteral SwitchHeader = "header"; | ||
| inline constexpr StringLiteral SwitchHostExclude = "host-exclude"; | ||
| inline constexpr StringLiteral SwitchHostTriplet = "host-triplet"; | ||
| inline constexpr StringLiteral SwitchHydrateSymlinks = "hydrate-symlinks"; |
There was a problem hiding this comment.
I do find the name "hydrate-symlinks" a bit odd -- I feel like "follow-symlinks" or "resolve-symlinks" would be common? Or is this copied from another tool?
There was a problem hiding this comment.
'follow' / 'resolve' don't normally affect whether or not there is an actual symlink, those words normally refer only to whether one is speaking about a symlink, or about a symlink target.
This is replacing a symlink entirely (with a copy of its target), the inverse of copy_symlinks in https://eel.is/c++draft/tab:fs.enum.copy.opts .
Would you find 'replace symlinks' acceptable?
There was a problem hiding this comment.
I think replace-symlinks is good but don't have issues with hydrate-symlinks either.
There was a problem hiding this comment.
In person Robert suggested --dereference-symlinks because that's the language tar uses: https://ftp.gnu.org/old-gnu/Manuals/tar-1.12/html_node/tar_115.html
vcpkg exportvcpkg export
to workaround CloudBuild restoring vcpkg's install tree as all symlinks.