You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've had a number of bugs in the past caused by drive letters sometimes being uppercase and sometimes being lowercase (and code that treats all paths case-sensitively). The casing of drive letters is somewhat inconsistent depending on the source of the path. For example VS Code's debugger and terminal normalise drive letters to uppercase, but it's URI class normalises them to lowercase (😔).
While in general we should consider case-sensitivity of entire paths, it's often hard to do with URIs because it's not guaranteed we even have access to the underlying volume to know if it's case sensitive (and while VS Code does it, it's not sound to assume Windows == case-insensitive and others == case sensitive, because you can have a mix of each on both Windows and macOS).
To avoid some issues, we tend to normalize all drive letters to uppercase in some places (for ex. the VS Code extension, analysis server, DAP). I think we should do the same with DTD's file system access because the workspace roots are set by the IDE (which might normalise things one way) and requests for the files may come from a completely different source (such as a DevTools extension).
Currently, using the wrong drive letter casing results in permission denied.
The text was updated successfully, but these errors were encountered:
keertip
changed the title
[pkg:dtd] DTD filesystem checks should be case-insensitive (at least for drive letters) on Windows
[pkg:dtd] DTD filesystem checks should be case-insensitive for drive letters on Windows
Feb 15, 2024
keertip
added
the
area-pkg
Used for miscellaneous pkg/ packages not associated with specific area- teams.
label
Feb 15, 2024
We've had a number of bugs in the past caused by drive letters sometimes being uppercase and sometimes being lowercase (and code that treats all paths case-sensitively). The casing of drive letters is somewhat inconsistent depending on the source of the path. For example VS Code's debugger and terminal normalise drive letters to uppercase, but it's URI class normalises them to lowercase (😔).
While in general we should consider case-sensitivity of entire paths, it's often hard to do with URIs because it's not guaranteed we even have access to the underlying volume to know if it's case sensitive (and while VS Code does it, it's not sound to assume Windows == case-insensitive and others == case sensitive, because you can have a mix of each on both Windows and macOS).
To avoid some issues, we tend to normalize all drive letters to uppercase in some places (for ex. the VS Code extension, analysis server, DAP). I think we should do the same with DTD's file system access because the workspace roots are set by the IDE (which might normalise things one way) and requests for the files may come from a completely different source (such as a DevTools extension).
Currently, using the wrong drive letter casing results in permission denied.
@CoderDake
The text was updated successfully, but these errors were encountered: