From 012f1cf06a51b71a53ef4b3c4aba00019594768b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=82CHES?= Date: Mon, 23 Mar 2026 11:49:50 -0600 Subject: [PATCH] =?UTF-8?q?fix(test):=20Windows=20CI=20=E2=80=94=20use=20d?= =?UTF-8?q?ouble=20quotes=20in=20git=20commit=20message=20(#2252)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The symlink test used single quotes in a commit message (`-m 'add gitignore'`) inside a `&&`-chained shell command. On Windows, `cmd.exe` doesn't treat single quotes as string delimiters, so git received a mangled pathspec `gitignore'`. Split into two separate `run()` calls with double-quoted commit message, matching every other test in the file. Co-authored-by: Claude Opus 4.6 (1M context) --- src/resources/extensions/gsd/tests/git-service.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/resources/extensions/gsd/tests/git-service.test.ts b/src/resources/extensions/gsd/tests/git-service.test.ts index f1c1d3a8a..36601feef 100644 --- a/src/resources/extensions/gsd/tests/git-service.test.ts +++ b/src/resources/extensions/gsd/tests/git-service.test.ts @@ -1431,7 +1431,8 @@ async function main(): Promise { // .gitignore blocks .gsd (as ensureGitignore would do for symlink projects) writeFileSync(join(repo, ".gitignore"), ".gsd\n"); - run("git add .gitignore && git commit -m 'add gitignore'", repo); + run('git add .gitignore', repo); + run('git commit -m "add gitignore"', repo); // Simulate new milestone artifacts created during execution writeFileSync(join(externalGsd, "milestones", "M009", "M009-SUMMARY.md"), "# M009 Summary");