Repository navigation
install: rebind cached package ids before the second resolve pass #46367
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
Changes from 6 commits
bc26c1b
a02f9fb
3b67abe
89fd371
a5c3140
f4e4e7d
91dcfd4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -26,7 +26,7 @@ pub struct UpdateScope<'a> { | |
| whole_workspace: bool, | ||
| /// `--depth 0`: only the dependencies of the root and of workspaces are in scope. | ||
| direct_only: bool, | ||
| /// Walked by `plan_named` before the differ invalidates rows; otherwise `reachable()` walks the lockfile it is given. | ||
| /// Walked by `plan_named` before rows are invalidated; otherwise `reachable()` walks the lockfile it is given. | ||
| planned: Option<&'a DynamicBitSet>, | ||
| lazy: OnceCell<DynamicBitSet>, | ||
| } | ||
|
|
@@ -63,7 +63,7 @@ impl<'a> UpdateScope<'a> { | |
| } | ||
| } | ||
|
|
||
| /// Runs on the loaded lockfile before the differ invalidates the rows it re-enqueues, like `TransitiveUpdate::plan`. | ||
| /// Runs before rows are invalidated: by the differ on the loaded lockfile, like `TransitiveUpdate::plan`, and by `reresolve_rows_outside_overrides` on the cleaned one. | ||
| pub fn plan_named(manager: &mut PackageManager) { | ||
| let reachable = { | ||
| let scope = UpdateScope::of(manager); | ||
|
|
@@ -144,7 +144,7 @@ impl UpdateScope<'_> { | |
| lockfile.packages.items_name_hash()[id], | ||
| lockfile.packages.items_name()[id].slice(lockfile.buffers.string_bytes.as_slice()), | ||
| ), | ||
| // Packages appended after the walk (ids past its end) were resolved for an in-scope row. | ||
| // Packages appended after the walk (ids past its end) count as in scope. | ||
| _ => { | ||
| !self.direct_only | ||
| && (self.whole_workspace | ||
|
Comment on lines
+147
to
150
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟣 pre-existing, not blocking: Users running Why this was flaggedTrigger: a workspace project with workspaces b (targeted) and c; c depends on P, bun.lock has P@ 1.0.0 and Verification:
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Stays as is in this PR. I ran your project (only Generated by Claude Code
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Re-planning the bitset on the cleaned lockfile removes the stale-bit read, but the reported case is unchanged: |
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.