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

[Runtime] Fix for Windows when projects are deployed on junctions/symlinks #49046

Merged
merged 1 commit into from Jan 20, 2023

Conversation

nerdgod
Copy link
Contributor

@nerdgod nerdgod commented Jan 20, 2023

Q A
Branch? 5.4
Bug fix? yes
New feature? no
Deprecations? no
Tickets Fix #49041
License MIT
Doc PR none

On windows systems where a project directory may be located at a directory that is a junction to a path on another drive, realpath() must be called on both sides of a call to Filesystem::makePathRelative($path1,$path2). Otherwise the result will be an irresolvable comparison across filesystems and the return value will be the value of $path1, not a relative path.

@carsonbot
Copy link

Hey!

I see that this is your first PR. That is great! Welcome!

Symfony has a contribution guide which I suggest you to read.

In short:

  • Always add tests
  • Keep backward compatibility (see https://symfony.com/bc).
  • Bug fixes must be submitted against the lowest maintained branch where they apply (see https://symfony.com/releases)
  • Features and deprecations must be submitted against the 6.3 branch.

Review the GitHub status checks of your pull request and try to solve the reported issues. If some tests are failing, try to see if they are failing because of this change.

When two Symfony core team members approve this change, it will be merged and you will become an official Symfony contributor!
If this PR is merged in a lower version branch, it will be merged up to all maintained branches within a few days.

I am going to sit back now and wait for the reviews.

Cheers!

Carsonbot

@nicolas-grekas nicolas-grekas modified the milestones: 6.0, 5.4 Jan 20, 2023
@nicolas-grekas nicolas-grekas changed the title Update ComposerPlugin.php [Runtime] Fix for Windows when projects are deployed on junctions/symlinks Jan 20, 2023
@carsonbot carsonbot changed the title [Runtime] Fix for Windows when projects are deployed on junctions/symlinks Fix for Windows when projects are deployed on junctions/symlinks Jan 20, 2023
@carsonbot carsonbot changed the title Fix for Windows when projects are deployed on junctions/symlinks [Runtime] Fix for Windows when projects are deployed on junctions/symlinks Jan 20, 2023
On Windows systems where the project directory is a junction or symlink, realpath() must be called on any directories (withing a subtree) you wish to compare relative paths for, because otherwise the directory upon which realpath() was called will point to the link target (original) and the other will point to the link (copy) which may be on a different filesystem (resulting in an invalid projectDir path like `C:\project\\Z:\project\` in the autoload_runtime.php)
@nicolas-grekas
Copy link
Member

Thank you @nerdgod.

@nicolas-grekas nicolas-grekas merged commit dd30a08 into symfony:5.4 Jan 20, 2023
@nerdgod nerdgod deleted the 6.0 branch January 20, 2023 17:58
This was referenced Jan 24, 2023
This was referenced Jan 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants