• Will Chen's avatar
    Automatically initialize git safe directory on startup (#2152) · daf69251
    Will Chen 提交于
    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. -->
    daf69251
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...