Skip to content

Un-revert FS changes. #8995

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

Closed
ericsnowcurrently opened this issue Dec 10, 2019 · 1 comment
Closed

Un-revert FS changes. #8995

ericsnowcurrently opened this issue Dec 10, 2019 · 1 comment
Assignees
Labels
debt Covers everything internal: CI, testing, refactoring of the codebase, etc.

Comments

@ericsnowcurrently
Copy link

No description provided.

@ericsnowcurrently ericsnowcurrently added feature-* debt Covers everything internal: CI, testing, refactoring of the codebase, etc. labels Dec 10, 2019
@ericsnowcurrently ericsnowcurrently self-assigned this Dec 10, 2019
ericsnowcurrently added a commit that referenced this issue Dec 17, 2019
(for #8995)

This is a partial un-revert of the recent FS changes. This change in particular only consolidates all FS-related operations to use of FileSystem objects.
ericsnowcurrently added a commit that referenced this issue Dec 31, 2019
(for #8995)

This adds back in high-level functional tests reverted in #8970, as well as adding some more. There is also a little bit of cleanup (group methods in FileSystem and IFileSystem).
@ericsnowcurrently
Copy link
Author

FTR, #9170 introduced some failures in the functional tests on OSX and Windows. I'm going to temporarily disable those tests on the respective platforms.

ericsnowcurrently added a commit that referenced this issue Jan 8, 2020
(for #8995)

This adds back in some of the refactored code and high-level functional tests reverted in #8970. It also adds more tests and gets things ready for #8542 (where we will drop the pathutils module, etc.).
ericsnowcurrently added a commit that referenced this issue Jan 16, 2020
(for #8995)

These will be useful for some upcoming PRs.
ericsnowcurrently added a commit that referenced this issue Jan 21, 2020
(for #8995)

This separates the tempfile stuff from the broader "fs utils". This helps keep the code focused. It's part of what we reverted in #8970.
ericsnowcurrently added a commit that referenced this issue Jan 21, 2020
(for #8995)

It hasn't been used for a year and a half.
ericsnowcurrently added a commit that referenced this issue Jan 27, 2020
(for #8995)

This separates the low-level filesystem operations from the high-level "fs utils". The move to the VS Code FS API can then happen strictly inside RawFileSystem. Also, this is part of what we reverted in #8970.

Note that the bulk of the changes are in test code. Also, of the non-test code, the changes are either just moving things around (from FileSystem to RawFileSystem), or adding the new RawFileSystem class (and IRawFileSystem interface).
ericsnowcurrently added a commit that referenced this issue Jan 27, 2020
(for #8995)

The dependency is unnecessary and adds complication to various places that FileSystem is used. Dropping it simplifies things going forward.
ericsnowcurrently added a commit that referenced this issue Jan 28, 2020
(for #8995)

The return value didn't get fixed when we changed isPathWritableAsync() to FileSystem.isDirReadonly(). Here we fix that and update the test. We now also fail for any errors except errno EACCES. The one consumer of isDirReadonly() has been adjusted accordingly, maintaining its does-not-fail behavior.
ericsnowcurrently added a commit that referenced this issue Jan 30, 2020
(for #8995)

This is one of the last parts to be un-reverted for the FS changes.
ericsnowcurrently added a commit that referenced this issue Feb 10, 2020
(for #8995)

This is the last part of un-reverting the FS changes.
@ghost ghost removed the needs PR label Feb 10, 2020
@lock lock bot locked as resolved and limited conversation to collaborators Feb 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debt Covers everything internal: CI, testing, refactoring of the codebase, etc.
Projects
None yet
Development

No branches or pull requests

3 participants