microsoft / microsoft/winget-cli
Pin audit command
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Description of the new feature / enhancement
Packages can be added, removed, and updated (or downgraded!) outside of winget. As a user, I would like to be able to check if any of my pins have been violated.
If the package has a standard ("pinning") or blocking pin and the version has changed, I'd like to be informed what the version pinned in winget was, and what the currently installed version is.
If the package has a gating pin and the installed version violates the gate, I'd like to be informed what the gate in winget is, and what the currently installed version is.
If a pin exists and no installed package can be found, I'd like to be informed what the version pinned / gate in winget was, and the current installation status is "Not found"
> winget pin audit
Id Type Version Installed
---------------------------------
Pkg.1 Blocking 1.0.1 1.3.5
Pkg.2 Gating 2.1.* 2.5.3
Pkg.3 Pinning 0.5.1 0.5.5
Pkg.4 Pinning 1.9.3 Not Found
Proposed technical implementation details
- Related to #3215
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading related issue #3215 and tracing the winget pin audit command entry point. Define completion around reporting violated blocking, pinning, and gating pins with the pinned or gating version and installed version, including packages that are not found.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100