-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This patch reduces the frequency that imports.lock updates by doing a few things: * Imports are only updated when necessary for the vet to pass. If vet would successfully pass without the new audits, only changes to notes, criteria descriptions, revoked audits, and violations will be pulled. * Some commands, such as suggest, will always run against the live copy when not --locked, providing the most accurate results possible. * Only audits for crates in your crate graph will be imported. * When an update is required, all new audits for the given crate will be fetched and locked, to batch updates as much as possible. This required doing some changes to how imports are handled under the hood, as well as a number of changes to the resolver in order to track whether fresh imports are required with sufficient accuracy. Imports are also now fetched in more APIs in order to have the most up-to-date information. The changes to the resolver involved piping through "caveats" which are determined when solving paths. This is an expansion on the existing "needs_exemption"/"fully_audited" flags which were being used to generate stats after a successful vet to also handle freshly imported audits which should only be used when necessary. Special handling was also needed to make sure that audits for unused criteria are not counted by tracking caveats on a per-criteria basis and bubbling them out.
- Loading branch information
Showing
22 changed files
with
1,759 additions
and
521 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.