Unverified 提交 89aa6105 authored 作者: Will Chen's avatar Will Chen 提交者: GitHub

Fix WSL PATH contamination causing git command failures on Windows (#2282)

## Summary - Adds `getWindowsSanitizedEnv()` function that filters WSL-related PATH entries on Windows - Creates `execGit()` wrapper that applies sanitized environment to all dugite exec calls - Prevents WSL relay from intercepting git commands when WSL is installed but misconfigured Fixes #2194 ## Test plan - [ ] Test on Windows machine with WSL installed - [ ] Verify git commit operations work with native Git enabled - [ ] Verify no regression on macOS/Linux (sanitization only activates on Windows) 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Sanitize PATH on Windows to stop WSL from hijacking git commands, ensuring native Git runs reliably. Fixes #2194. - **Bug Fixes** - Added getWindowsSanitizedEnv to filter WSL PATH entries (\\wsl$, \\wsl.localhost, windowsapps, /mnt, /usr, /bin, /home) and handle PATH key casing. - Wrapped all dugite exec calls with execGit on Windows; added '--' separators and remote URL validation. - Prevents WSL hijacking and errors like "execvpe(/bin/bash) failed: No such file or directory". <sup>Written for commit ad0a93ceb660831d8c4abf3e05dd91b8523dd9f1. Summary will update on new commits.</sup> <!-- End of auto-generated description by cubic. --> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Fixes Windows WSL PATH contamination by introducing a sanitized env and routing all native Git calls through a wrapper. > > - **Add** `getWindowsSanitizedEnv()` to filter WSL-related PATH entries on Windows and handle PATH key casing > - **Introduce** `execGit()` wrapper and replace all `dugite.exec` usages to apply sanitized env on Windows > - **Harden** native Git calls: add `--` separators for path/URL args (e.g., `clone`, `check-ignore`), and validate `remoteUrl` to prevent option injection > - Touches most native Git flows: status, commit, checkout, branch ops, clone, push/pull/fetch/merge/rebase, file retrieval, and conflict detection > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ad0a93ceb660831d8c4abf3e05dd91b8523dd9f1. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2282"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> --------- Co-authored-by: 's avatarClaude Opus 4.5 <noreply@anthropic.com>
上级 6ba51165
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论