-
Notifications
You must be signed in to change notification settings - Fork 5
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
Clean command: removes installation from state if directory missing. #73
Conversation
crates/criticalup-cli/tests/snapshots/cli__clean__clean_deletes_only_unused_installations.snap
Outdated
Show resolved
Hide resolved
crates/criticalup-cli/tests/snapshots/cli__clean__clean_deletes_only_unused_installations.snap
Outdated
Show resolved
Hide resolved
...ests/snapshots/cli__clean__clean_deletes_only_unused_installations_that_are_not_on_disk.snap
Outdated
Show resolved
Hide resolved
Can we remove the duplication? We don't need two lines per uninstall:
|
This was a bug that if the directory of the installation is missing from the file system, and the installation is still present in the state file, the clean command will not remove the installation from the state file. This was certainly a problem because if there is accidental deletion of the toolchain directory, we need to be able to clean up the state file too.
d67915a
to
31a0e21
Compare
Converted one tracing::info to tracing::debug. Reviewed-by: Ana Hobden <ana.hobden@ferrous-systems.com>
crates/criticalup-cli/tests/snapshots/cli__clean__clean_deletes_only_unused_installations.snap
Outdated
Show resolved
Hide resolved
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.
Rest looks good, just capitalization. Boop me for a stamp when it's fixed. :)
Reviewed-by: Ana Hobden <ana.hobden@ferrous-systems.com>
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.
bors merge
Build succeeded: |
This was a bug that if the directory of the installation is missing from the file system, and the installation is still present in the state file, the clean command will not remove the installation from the state file. This was certainly a problem because if there is accidental deletion of the toolchain directory, we need to be able to clean up the state file too.
Start with a clean state.json.
For best results, delete the entire criticalup installation directory.
Install project 1
Use this manifest to install first project. Name this file project1.toml.
Install this project
Check state.json
state.json file should contain an installation with ID "c8f887068792bbf1f09ce4b6ddbe84fd7d9dcde18407d608968c26b89862d15e".
Delete the installation directory
In the appropriate location of toolchain installations, find the directory where this is installed and delete the toolchain of this project only.
DO NOT delete the root directory of CriticalUp configs and installation.
On Linux, you can see this at
~/.local/share/criticalup/toolchains/c8f887068792bbf1f09ce4b6ddbe84fd7d9dcde18407d608968c26b89862d15e/
.Run clean
Result: you should see that the state.json file does not have the installation of the above.