Use common Windows Subsystem path helper for calling tools on Windows #3300
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.
Fixes #3164
Fixes #3167
Fixes #3215
This unifies use of
cygpath
tool through the codebase. As currently there will be no support for Windows fork of OpenSSH (missing a lot of features, not only mux, but also basic AF_UNIX) and in future if such support is considered it will have conditional handling in he codebase.I switched the tool to generate Unix like paths instead of hybrid ones. They are fully understand by msys2 tooling, so are safe to use to all tools in use. Additionally this opened opportunity to use
wslpath
as drop-in replacement ofcygpath
and provides capabilities to use tooling hosted inside WSL container, where full set of feature is available, which in turns makes QEMU support easier to achieve (mux for port forwarding with SSH forwarder, etc).There is some special handling added for
/mnt/
prefixes, because it is the difference betweencygpath
andwslpath
outputs. So, it is a compatibility supporting part.