Repository navigation
fix(server): opening a folder without Git installed no longer shows a spawn error - #14942
Conversation
… spawn error Repository detection now reads a missing git executable as "not a repository", like git's own exit 128, instead of surfacing the spawn error to the client.
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused Git detection bug fix: a missing Git executable is treated as “not a repository,” while unrelated process failures still propagate. The added regression tests verify both behaviors without changing production defaults or static-analysis configuration. You can add or adjust custom eligibility rules. Learn more. |
Dismissing prior approval to re-evaluate 6791b91
|
Warning Review limit reachedOnly developers with an assigned seat can use this organization's usage-based review budget, and seats here are assigned manually. Ask an admin to assign a seat, or change the review continuation mode in Billing. Next included review available in 11 minutes. View limit details
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
…it-detection # Conflicts: # apps/server/src/vcs/GitVcsDriver.ts
source-control-core exports isMissingExecutable since pingdotgg#19692, so the driver no longer carries its own copy of the predicate.
|
Merged |
Dismissing prior approval to re-evaluate 3fa4f4c
|
Taking over this one as maintainer for batch worktree-git-02. I will preserve the focused fix, rebuild against current main, and refresh tests, review, and verification. |
|
The linked-issue warning asks for a Git-disable setting, which is outside this focused takeover. Maintainer triage explicitly identifies that as a separate enhancement: the current Git switch is an availability indicator. This PR covers the missing-executable detection path only. I changed the description to a related-issue reference and documented that limit; no new setting is added. |
Dismissing prior approval to re-evaluate b1efc9e
# Conflicts: # apps/server/src/vcs/GitVcsDriver.ts
Dismissing prior approval to re-evaluate dd88142
… spawn error (pingdotgg#14942) Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit ce87dc7)
When Git is not installed, opening a folder can fail repository detection with a spawn error instead of treating the folder as having no repository.
Map only the existing shared missing-executable condition to
falsein the Git worktree probe;detectRepositorythen returnsnull. Other spawn failures still propagate. Merged current main and preserved @tiliakoos's commits from #14942. The author had already migrated the old lowercase HostProcess import; the maintainer rebuild makes the missing-command fixture deterministic and checks both detection entry points.Scope and approval: the missing-Git portion of #10351, explicitly selected for this maintainer batch. Maintainer triage separates this minimal fix from a future Git-disable setting. This does not implement that separate enhancement or claim to close the entire issue.
Verification on headless Linux:
GitVcsDriver.test.ts: 62 → 62 passing. Real subprocess coverage checks missing executable → false/null and a non-executable file → propagated spawn errors. Removing the catch reproduces the missing-executable failure; restoring it passes again.Implementation: Codex GPT-6.1-Sol in T3 Code; tests: Codex GPT-6-Astra; adversarial review: Claude Opus 5.5 and Codex GPT-6-Sol, through Codex/Claude harnesses.