-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
fix: cache paths on Windows are broken #2760
fix: cache paths on Windows are broken #2760
Conversation
cdc5122
to
c9e1853
Compare
@piscisaureus I think I managed to make it work. We're gonna need to do a release with this change to fix CI in standard lib |
cli/disk_cache.rs
Outdated
let disk = (disk_byte as char).to_string(); | ||
out.push(disk); | ||
} | ||
_ => {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add an unreachable() here. Let's not silently discard part components.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@piscisaureus added
This fixes a very acute problem, so I'm all for landing this. Tangentially related, there's also a correctness issue w.r.t. case sensitivity. In URLs the path and query component are case sensitive, while the protocol and host are not. When deno_dir lives on a case insensitive file system it won't be able to handle that properly. |
Haven't thought about it, but I believe
Agreed, any ideas how to tackle that? Cast all protocols and hostnames to lowercase? |
That doesn't seem right either. Only the part after |
Agreed, shall I open a new issue with two described edge cases and we can land this patch? |
Cache paths are not properly generated on Windows.
It's broken since v0.13.0.
Ref:
denoland/std#552
denoland/std#556
Example: