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

Explain Windows junctions in 05-repositories.md #7977

Merged
merged 1 commit into from Feb 12, 2019

Conversation

Projects
None yet
3 participants
@johnstevenson
Copy link
Member

johnstevenson commented Feb 12, 2019

Adds an explanation of junctions and their edge-case limitations.

@Seldaek

This comment has been minimized.

Copy link
Member

Seldaek commented Feb 12, 2019

You can't let go anymore I see ;) Thanks

@Seldaek Seldaek merged commit a3eb6c4 into composer:master Feb 12, 2019

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@johnstevenson johnstevenson deleted the johnstevenson:patch-2 branch Feb 12, 2019

@johnstevenson

This comment has been minimized.

Copy link
Member Author

johnstevenson commented Feb 12, 2019

@Seldaek Yes, I do see that I have got rather obsessed with this! And what's more I have just noticed that this should probably have said:

Note: On Windows, directory symlinks are implemented using NTFS junctions
because they can be created by non-admin users. Mirroring will always be used
on versions below Windows 7, or if proc_open has been disabled on PHP versions
less than 7.2.16 or 7.3.3 due to a PHP bug.

Perhaps you can save me by adding this yourself!

@Seldaek

This comment has been minimized.

Copy link
Member

Seldaek commented Feb 12, 2019

Will do ;)

@Seldaek

This comment has been minimized.

Copy link
Member

Seldaek commented Feb 12, 2019

So I rewrote that a bit to make it more readable:

Note: On Windows, directory symlinks are implemented using NTFS junctions
because they can be created by non-admin users. Due to a bug, on PHP versions
less than 7.2.16 or 7.3.3 mirroring will always be used on versions below
Windows 7, or if proc_open has been disabled.

But then I realized.. without proc_open, we should never try junctions I think? Because it'll fail to create them as well.

@johnstevenson

This comment has been minimized.

Copy link
Member Author

johnstevenson commented Feb 12, 2019

Yeah, very good point. We don't seem to check for that, so I need to change the new safeJunctions method to handle it. Do you agree?

@Seldaek

This comment has been minimized.

Copy link
Member

Seldaek commented Feb 12, 2019

Yeah I think that'd do.. If you wanna change the docs too I ended up aborting that change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment