-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Enable symlink support explicitly #3406
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
Conversation
@compnerd any opinion / insight? |
@swift-ci please smoke test |
@swift-ci please test package compatibility |
@swift-ci please smoke test |
@swift-ci please test package compatibility |
Solves SR-14259 |
I don’t think I’ve changed anything in the smoke test🤔 This PR won’t change the behavior on un-configured macOS and Linux machines. May you trigger another macOS smoke test? @tomerd |
@swift-ci please smoke test macOS |
I wonder if this can land in Swift 5.4🤔 Considering that this will help build many more packages on Windows, eg. all Swift developer tools depending on |
@stevapple its too late for 5.4.0, but you can open a PR against the 5.4 branch and if we roll 5.4.1 dot release we can include it in that |
motivation: enable git symlink support for Windows changes: pass core.symlinks=true to git clone operations
* Enable symlink support explicitly (#3406) motivation: enable git symlink support for Windows changes: pass core.symlinks=true to git clone operations * Limit the change to Windows only
Explicitly set
core.symlinks
totrue
to enable symlink support.Motivation:
On Windows, symbolic link support in
git
is defaulted tofalse
. Since SwiftPM itself also heavily depends on symlinking, there’s no reason that we should not enable it.Modifications:
Explicitly set
core.symlinks=true
ongit clone
.Result:
Repositories cloned by SwiftPM will have
core.symlinks
set totrue
, which means symbolic links can be resolved correctly.Note:
If a system doesn’t support symlink, then SwiftPM itself will also break; if it does, then we should enable it regardless of global configs. We need to ensure that Swift package repos are checked out correctly.