spack repo remove: allow removing from unspecified scope#51563
spack repo remove: allow removing from unspecified scope#51563
Conversation
Signed-off-by: Gregory Becker <[email protected]>
Signed-off-by: Gregory Becker <[email protected]>
Signed-off-by: Gregory Becker <[email protected]>
|
We might want to warn users if the same repo exists from multiple config scopes. The current functionality wipes out the corresponding repository name from all scopes without any confirmation. |
Signed-off-by: Gregory Becker <[email protected]>
Signed-off-by: Gregory Becker <[email protected]>
|
Summarizing conversation that we had offline: The behavior that @alecbcs noticed was intentional. This was designed to work on repos that have e.g. their This seems like non-ideal behvior as well. We are going to take this offline and try to have a conversatoin with more devs and figure out what is the least confusing way to handle this. We briefly considered |
Signed-off-by: Gregory Becker <[email protected]>
Signed-off-by: Gregory Becker <[email protected]>
alecbcs
left a comment
There was a problem hiding this comment.
One nitpick, otherwise looks good to me.
Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
* spack repo rm: remove from all scopes when none provided Signed-off-by: Gregory Becker <[email protected]> * unit test for repo removal from unspecified scope Signed-off-by: Gregory Becker <[email protected]> * cleanup unit test Signed-off-by: Gregory Becker <[email protected]> * apply same fix to mirrors Signed-off-by: Gregory Becker <[email protected]> * style Signed-off-by: Gregory Becker <[email protected]> * remove from top scope with option for all scopes Signed-off-by: Gregory Becker <[email protected]> * update_completions Signed-off-by: Gregory Becker <[email protected]> * move tty usage to cmd Signed-off-by: Gregory Becker <[email protected]> --------- Signed-off-by: Gregory Becker <[email protected]>
Currently, the following fails:
It fails because the
spack repo removecommand requires a scope to remove from, and assumes--scope userif unspecified.This PR changes this to remove the matching repo from any scope if the scope is unspecified. Because portions of the repo could be defined at different config levels, it removes the specified repo from every scope. Removing from a specific scope is still supported, using the
--scopeargument.The analogous bug exists and is fixed in the analogous manner for
spack mirror removein this PR as well.Includes tests.