-
Notifications
You must be signed in to change notification settings - Fork 2.7k
fix(info): default to local without explicit reg #16358
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
fix(info): default to local without explicit reg #16358
Conversation
66fac81 to
5dca6df
Compare
5dca6df to
c911e65
Compare
9f62061 to
97cb792
Compare
When no registry is specified in the cargo info command, default to using the local crates.io registry.
3582f4f to
0984acc
Compare
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.
🔢 Self-check (PR reviewed by myself and ready for feedback)
-
Code compiles successfully
-
Unit tests added
-
All tests pass
-
Comments added where necessary
-
PR title and description updated
-
Documentation Updated(or confirmed not needed)
-
PR size is reasonable
r? @epage
I am not sure if it is worth keeping/asserting the output directory because, in these cases, we will not update the project itself. However, keeping it may help us prevent future changes that could affect them. Please let me know if you have a strong opinion on this.
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.
Pull request overview
This PR fixes a bug in cargo info where it would incorrectly query the default registry instead of inspecting a local package when a default registry is configured but not explicitly specified.
Key Changes:
- Modified
cargo infoto prefer local packages when no explicit--registryor--indexflag is provided - Added detection for explicit registry/index arguments using
args._contains() - Added logic to override registry selection when a local package exists and no explicit registry is specified
Reviewed changes
Copilot reviewed 14 out of 32 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/bin/cargo/commands/info.rs |
Added logic to detect explicit --registry or --index flags and pass this information to the info operation |
src/cargo/ops/registry/info/mod.rs |
Modified to accept explicit_registry parameter and prefer local packages when no explicit registry is specified |
tests/testsuite/cargo_info/mod.rs |
Registered two new test modules for the fix |
tests/testsuite/cargo_info/with_default_registry_configured/* |
Test case verifying local package is used when default registry is configured but not explicitly specified |
tests/testsuite/cargo_info/with_default_registry_configured_and_specified/* |
Test case verifying registry package is used when explicitly specified with --registry flag |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks for your review! 💚 💙 💜 💛 ❤️ |
What does this PR try to resolve?
close #16145
93c2c40(#16358) shouldn't be an error; it should inspect the local package correctly.The reason it is buggy is as follows: The
default_registryfunction attempts to retrieve the default registry from the user's configuration; in this case, it is crates-io.In this PR, I modified the cargo-info to prefer the local package if the registry is not explicitly specified.
How to test and review this PR?
Check the unit test.
r? @ghost