diff --git a/packages/server/src/api-types.ts b/packages/server/src/api-types.ts index 7b7acc81..c40d05e3 100644 --- a/packages/server/src/api-types.ts +++ b/packages/server/src/api-types.ts @@ -52,7 +52,7 @@ export interface WorkspaceDeleteResponse { export type WorktreeKind = "root" | "worktree" export interface WorktreeDescriptor { - /** Stable identifier used by CodeNomad + clients ("root" for repo root). */ + /** Stable identifier used by CodeNomad + clients ("root" for the selected workspace folder). */ slug: string /** Absolute directory path on the server host. */ directory: string diff --git a/packages/server/src/workspaces/__tests__/git-worktrees.test.ts b/packages/server/src/workspaces/__tests__/git-worktrees.test.ts index a725637b..bc6382a1 100644 --- a/packages/server/src/workspaces/__tests__/git-worktrees.test.ts +++ b/packages/server/src/workspaces/__tests__/git-worktrees.test.ts @@ -23,7 +23,7 @@ describe("listWorktrees", () => { "HEAD 1111111", "branch refs/heads/main", "", - ].join("\\n") + ].join("\n") if (process.platform === "win32") { writeFileSync(gitPath, `@echo off\r\nif "%1"=="worktree" if "%2"=="list" if "%3"=="--porcelain" (\r\necho ${porcelain.replace(/\n/g, "\r\necho ")}\r\nexit /b 0\r\n)\r\nexit /b 1\r\n`) @@ -38,6 +38,7 @@ describe("listWorktrees", () => { assert.equal(worktrees[0]?.slug, "root") assert.equal(worktrees[0]?.directory, workspaceFolder) assert.equal(worktrees[0]?.kind, "root") + assert.equal(worktrees[0]?.branch, "main") assert.notEqual(worktrees[0]?.directory, repoRoot) } finally { process.env.PATH = originalPath