Automatically initialize git safe directory on startup (#2152)
See https://github.com/dyad-sh/dyad/issues/2113
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Automatically ensures Git can operate in `dyad-apps` when native Git
is enabled and centralizes base path resolution.
>
> - Adds `gitAddSafeDirectory(directory)` in `git_utils.ts` to
idempotently append to global `safe.directory` (uses `normalizePath`,
logs outcomes)
> - On startup (`main.ts`), calls
`gitAddSafeDirectory(getDyadAppsBaseDirectory())` without awaiting
> - Introduces `getDyadAppsBaseDirectory()` and updates
`getDyadAppPath()` to use it, consolidating test/prod path logic
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
99911c273fba66190218ecdb1df40d61f12d49a5. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Automatically add the dyad-apps directory to Git’s global safe.directory
at startup when native Git is enabled. This prevents “detected dubious
ownership” errors on Windows and unblocks Git operations.
- New Features
- Added gitAddSafeDirectory(directory) to run git config --global --add
safe.directory <dir> with logging, normalizing paths and skipping
duplicates.
- On app ready, if settings.enableNativeGit, call
gitAddSafeDirectory(getDyadAppsBaseDirectory()) without awaiting to keep
startup fast.
- Refactors
- Introduced getDyadAppsBaseDirectory() and updated getDyadAppPath() to
use it, centralizing base path logic for test and prod.
<sup>Written for commit 99911c273fba66190218ecdb1df40d61f12d49a5.
Summary will update on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
正在显示
请
注册
或者
登录
后发表评论