fix: #5420 — remove accidental committed vendor symlink to an absolute machine path - #5470
Merged
Merged
Conversation
…ute machine path The repo-root `vendor` was a committed symlink pointing at `/Users/amlug/projects/perry/perry/vendor` — a specific developer's home directory — so it dangles on every other checkout. It was added incidentally in #4723 (an unrelated async-generator change), not on purpose. The root-level `vendor/` is meant to be developer/CI-populated, never committed: `scripts/node_core_subset.py` (`vendor/nodejs`) and `scripts/test262_subset.py` (`vendor/test262`) expect local clones, and `.github/workflows/node-core-subset.yml` `git clone`s into `vendor/nodejs` at runtime. `/vendor/` is already in `.gitignore` (root-anchored), so the intended shape is option 3 from the issue — git-ignored + produced by a setup step. The committed symlink predated that ignore rule, which is why it stayed tracked. Fix: untrack/remove the broken symlink. The root-anchored `/vendor/` ignore keeps a freshly-populated `vendor/` untracked, and the crate-level `crates/perry-audio-miniaudio/vendor/` (real vendored C sources) is unaffected by the leading-slash anchor. Removing a dangling symlink can only help — the CI clone into `vendor/nodejs` is more reliable without a broken path in the way. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughRemoves a single committed Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #5420.
Problem
The repo-root
vendoris a committed symlink pointing at/Users/amlug/projects/perry/perry/vendor— a specific developer's home directory — so it dangles on every other checkout:It was added incidentally in
9107be1c(#4723, an unrelated async-generator change), not intentionally.Why removal is the right fix
The root-level
vendor/is meant to be developer/CI-populated, never committed:scripts/node_core_subset.py→vendor/nodejs,scripts/test262_subset.py→vendor/test262(local clones).github/workflows/node-core-subset.ymlgit clones intovendor/nodejsat runtime (it never relied on the symlink — and a dangling symlink there can only get in the way).gitignorealready contains a root-anchored/vendor/So the intended shape is exactly option 3 from the issue (git-ignored + produced by a setup/CI step). The committed symlink simply predated the ignore rule, which is why it stayed tracked.
The other
vendor/references in the codebase (file:./vendor/bloom,vendor/lib,vendor/google-sign-in/...) are all user-project relative paths resolved at compile/publish time, not the perry repo root.Change
git rm vendor— untrack/remove the broken symlink. No other change needed:/vendor/(leading-slash anchored) keeps a freshly-populated rootvendor/untracked and does not affectcrates/perry-audio-miniaudio/vendor/(real committed C sources — verified still tracked).🤖 Generated with Claude Code
Summary by CodeRabbit