diff --git a/apps/server/tests/integration/helpers/git-test-repo.ts b/apps/server/tests/integration/helpers/git-test-repo.ts index 4ec95926..7871e8e8 100644 --- a/apps/server/tests/integration/helpers/git-test-repo.ts +++ b/apps/server/tests/integration/helpers/git-test-repo.ts @@ -22,13 +22,21 @@ export async function createTestGitRepo(): Promise { // Initialize git repo await execAsync('git init', { cwd: tmpDir }); - await execAsync('git config user.email "test@example.com"', { cwd: tmpDir }); - await execAsync('git config user.name "Test User"', { cwd: tmpDir }); + + // Use environment variables instead of git config to avoid affecting user's git config + // These env vars override git config without modifying it + const gitEnv = { + ...process.env, + GIT_AUTHOR_NAME: 'Test User', + GIT_AUTHOR_EMAIL: 'test@example.com', + GIT_COMMITTER_NAME: 'Test User', + GIT_COMMITTER_EMAIL: 'test@example.com', + }; // Create initial commit await fs.writeFile(path.join(tmpDir, 'README.md'), '# Test Project\n'); - await execAsync('git add .', { cwd: tmpDir }); - await execAsync('git commit -m "Initial commit"', { cwd: tmpDir }); + await execAsync('git add .', { cwd: tmpDir, env: gitEnv }); + await execAsync('git commit -m "Initial commit"', { cwd: tmpDir, env: gitEnv }); // Create main branch explicitly await execAsync('git branch -M main', { cwd: tmpDir }); diff --git a/apps/server/tests/integration/routes/worktree/create.integration.test.ts b/apps/server/tests/integration/routes/worktree/create.integration.test.ts index 433b610a..6d274a0d 100644 --- a/apps/server/tests/integration/routes/worktree/create.integration.test.ts +++ b/apps/server/tests/integration/routes/worktree/create.integration.test.ts @@ -15,10 +15,8 @@ describe('worktree create route - repositories without commits', () => { async function initRepoWithoutCommit() { repoPath = await fs.mkdtemp(path.join(os.tmpdir(), 'automaker-no-commit-')); await execAsync('git init', { cwd: repoPath }); - await execAsync('git config user.email "test@example.com"', { - cwd: repoPath, - }); - await execAsync('git config user.name "Test User"', { cwd: repoPath }); + // Don't set git config - use environment variables in commit operations instead + // to avoid affecting user's git config // Intentionally skip creating an initial commit } diff --git a/apps/ui/tests/utils/git/worktree.ts b/apps/ui/tests/utils/git/worktree.ts index e7c1b2f8..72e281d4 100644 --- a/apps/ui/tests/utils/git/worktree.ts +++ b/apps/ui/tests/utils/git/worktree.ts @@ -80,13 +80,21 @@ export async function createTestGitRepo(tempDir: string): Promise { // Initialize git repo await execAsync('git init', { cwd: tmpDir }); - await execAsync('git config user.email "test@example.com"', { cwd: tmpDir }); - await execAsync('git config user.name "Test User"', { cwd: tmpDir }); + + // Use environment variables instead of git config to avoid affecting user's git config + // These env vars override git config without modifying it + const gitEnv = { + ...process.env, + GIT_AUTHOR_NAME: 'Test User', + GIT_AUTHOR_EMAIL: 'test@example.com', + GIT_COMMITTER_NAME: 'Test User', + GIT_COMMITTER_EMAIL: 'test@example.com', + }; // Create initial commit fs.writeFileSync(path.join(tmpDir, 'README.md'), '# Test Project\n'); - await execAsync('git add .', { cwd: tmpDir }); - await execAsync('git commit -m "Initial commit"', { cwd: tmpDir }); + await execAsync('git add .', { cwd: tmpDir, env: gitEnv }); + await execAsync('git commit -m "Initial commit"', { cwd: tmpDir, env: gitEnv }); // Create main branch explicitly await execAsync('git branch -M main', { cwd: tmpDir }); @@ -248,9 +256,18 @@ export async function commitFile( content: string, message: string ): Promise { + // Use environment variables instead of git config to avoid affecting user's git config + const gitEnv = { + ...process.env, + GIT_AUTHOR_NAME: 'Test User', + GIT_AUTHOR_EMAIL: 'test@example.com', + GIT_COMMITTER_NAME: 'Test User', + GIT_COMMITTER_EMAIL: 'test@example.com', + }; + fs.writeFileSync(path.join(repoPath, filePath), content); - await execAsync(`git add "${filePath}"`, { cwd: repoPath }); - await execAsync(`git commit -m "${message}"`, { cwd: repoPath }); + await execAsync(`git add "${filePath}"`, { cwd: repoPath, env: gitEnv }); + await execAsync(`git commit -m "${message}"`, { cwd: repoPath, env: gitEnv }); } /**