Define behavior for root-level `dotnetup uninstall` and `dotnetup update` commands
- Dominant language
- C#
- Stars
- 3.2k
- Forks
- 1.3k
- PR merge metrics
- PR metrics pending
Description
## Context
PR https://github.com/dotnet/sdk/pull/53290 adds `dotnetup sdk uninstall`, `dotnetup runtime uninstall`, `dotnetup sdk update`, and `dotnetup runtime update` subcommands. However, the root-level `dotnetup uninstall` and `dotnetup update` commands (without the `sdk`/`runtime` qualifier) need their behavior defined.
## Questions to resolve
### `dotnetup uninstall`
- Should this do nothing and tell the user to use `dotnetup sdk uninstall` or `dotnetup runtime uninstall`?
- Should it eventually uninstall dotnetup itself?
- Or should it uninstall both all runtimes and all SDKs?
### `dotnetup update`
- Similar question: should it update everything (both SDKs and runtimes), or require the user to specify `sdk update` / `runtime update`?
- Currently `dotnetup update` routes to `SdkUpdateCommand` with `updateAllOverride: true`, which updates all components. Is this the desired default?
These two issues are related.
## Origin
PR #53290 review comment: https://github.com/dotnet/sdk/pull/53290#discussion_r2897616399
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading PR #53290 and the current root-level command routing, especially SdkUpdateCommand and its updateAllOverride: true behavior. Resolve and record the intended semantics for root-level dotnetup uninstall and update versus the sdk and runtime subcommands; the work is done when both commands have an agreed, consistent behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100