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.
Closes #230
Abstract
It's one of those one-byte-changes - during Git dependency unpacking, instead of:
... what I'm proposing to do instead is:
... where
-L
tellscp
to resolve symlinks - i.e. after this operations, symlinks will be substituted with the contents of the files they point at.Overall, this will allow us to correctly compile packages such as maud that contain cross-workspace-package symlinks (e.g. this boi that points outside of
maud_macros
).Without this fix, our new test would fail with:
... and a similar error would be generated for
maud
, as can be seen in issue linked at the top.Potential downsides
This fix resolves all symlinks - in reality, it should be enough to resolve only those symlinks that point outside of the currently processed crate; in my opinion that'd make the implementation more difficult for no apparent gain, though.
Caveats
For clarity, this pull request depends on #232; after that one gets merged, this PR should remain with just one commit inside of it.