-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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(resolver): Don't do git fetches when updating workspace members #12975
Merged
Conversation
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
Looks like `--workspace` and `-p <workspace-member>` behave differently.
Before, when running `cargo update <member>`, we'd not reuse the previous resolve result and when the resolver started walking into the dependencies, it would do a git fetch. Now, we won't even try to resolve the workspace members and so we won't look at those dependencies and do git fetch. This will make `cargo update <workspace-member>` match `cargo update --workspace`. I considered whether there were other ways of handling this but I figured aiming for consistency in approaches was the best way. We can investigate improving those approaches separately. There are other discrepancies in the different code paths (handling of patches, adding sources) but I'm deferring looking over those. Between this and rust-lang#12602, this should finnally resolve rust-lang#12599. Fixes rust-lang#12599
r? @weihanglo (rustbot has picked a reviewer for you, use r? to override) |
rustbot
added
Command-generate-lockfile
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Nov 14, 2023
epage
force-pushed
the
git
branch
3 times, most recently
from
November 17, 2023 21:44
fbe7621
to
9ca6376
Compare
weihanglo
reviewed
Nov 18, 2023
weihanglo
approved these changes
Nov 18, 2023
Thanks for the fix! @bors r+ |
bors
added
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Nov 18, 2023
☀️ Test successful - checks-actions |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Nov 20, 2023
Update cargo 9 commits in 9765a449d9b7341c2b49b88da41c2268ea599720..71cd3a926f0cf41eeaf9f2a7f2194b2aff85b0f6 2023-11-17 20:58:23 +0000 to 2023-11-20 15:30:57 +0000 - Handle $message_type in JSON diagnostics (rust-lang/cargo#13016) - refactor(toml): Further clean up inheritance (rust-lang/cargo#13000) - Fix `--check-cfg` invocations with zero features (rust-lang/cargo#13011) - chore: bump `cargo-credential-*` crates as e58b84d broke stuff (rust-lang/cargo#13010) - contrib docs: Update now that credential crates are published. (rust-lang/cargo#13006) - Add more resources to the contrib docs. (rust-lang/cargo#13008) - Respect `rust-lang/rust`'s `omit-git-hash` (rust-lang/cargo#12968) - Fix clippy-wrapper test race condition. (rust-lang/cargo#12999) - fix(resolver): Don't do git fetches when updating workspace members (rust-lang/cargo#12975)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Command-generate-lockfile
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR try to resolve?
Before, when running
cargo update <member>
, we'd not reuse theprevious resolve result and when the resolver started walking into the
dependencies, it would do a git fetch.
Now, we won't even try to resolve the workspace members and so we won't
look at those dependencies and do git fetch.
This will make
cargo update <workspace-member>
match
cargo update --workspace
.Fixes #12599
Fixes #8821
How should we test and review this PR?
I considered whether there were other ways of handling this but I
figured aiming for consistency in approaches was the best way.
We can investigate improving those approaches separately.
There are other discrepancies in the different code paths (handling of
patches, adding sources) but I'm deferring looking over those.
I added a test to demonstrate the
--workspace
behavior to use as a base line to compare with.Additional information
Between this and #12602, this should finally resolve #12599.