@cleocode/worktree 2026.9.20 → 2026.9.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/git.d.ts +14 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +28 -0
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/worktree-create.d.ts.map +1 -1
- package/dist/worktree-create.js +222 -72
- package/dist/worktree-create.js.map +1 -1
- package/dist/worktree-destroy.d.ts.map +1 -1
- package/dist/worktree-destroy.js +15 -2
- package/dist/worktree-destroy.js.map +1 -1
- package/dist/worktree-hooks.d.ts +2 -1
- package/dist/worktree-hooks.d.ts.map +1 -1
- package/dist/worktree-hooks.js +6 -2
- package/dist/worktree-hooks.js.map +1 -1
- package/dist/worktree-lock.d.ts +211 -0
- package/dist/worktree-lock.d.ts.map +1 -0
- package/dist/worktree-lock.js +619 -0
- package/dist/worktree-lock.js.map +1 -0
- package/dist/worktree-prune.d.ts.map +1 -1
- package/dist/worktree-prune.js +3 -0
- package/dist/worktree-prune.js.map +1 -1
- package/native/worktree-napi.win32-x64-msvc.node +0 -0
- package/package.json +4 -4
package/dist/git.d.ts
CHANGED
|
@@ -60,6 +60,20 @@ export declare function gitSilent(args: string[], cwd: string, timeoutMs?: numbe
|
|
|
60
60
|
* @task T9545
|
|
61
61
|
*/
|
|
62
62
|
export declare function gitAsync(args: string[], cwd: string, timeoutMs?: number): Promise<string>;
|
|
63
|
+
/**
|
|
64
|
+
* Count commits on `branch` that are on NO mainline ref: not on `origin/main`
|
|
65
|
+
* (when that remote-tracking ref exists) and not on any of `extraRefs`
|
|
66
|
+
* (`git rev-list --count <branch> --not <refs...>`). Used to decide whether a
|
|
67
|
+
* branch name may be deleted without losing history (T12506).
|
|
68
|
+
*
|
|
69
|
+
* @param gitRoot - Repository root.
|
|
70
|
+
* @param branch - Branch to inspect.
|
|
71
|
+
* @param extraRefs - Additional refs that count as "merged" (e.g. `baseRef`, `HEAD`).
|
|
72
|
+
* @returns The number of unmerged commits; any git error answers 1 (the safe answer).
|
|
73
|
+
*
|
|
74
|
+
* @task T12506
|
|
75
|
+
*/
|
|
76
|
+
export declare function countUnmergedCommits(gitRoot: string, branch: string, extraRefs?: readonly string[]): number;
|
|
63
77
|
/**
|
|
64
78
|
* Determine the git root directory for a given project path.
|
|
65
79
|
*
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAWlF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/F;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,CAMzE;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAWlF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,MAAM,CAYR;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,CAMzE;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAEf"}
|
package/dist/git.js
CHANGED
|
@@ -89,6 +89,34 @@ export async function gitAsync(args, cwd, timeoutMs) {
|
|
|
89
89
|
});
|
|
90
90
|
return stdout.trim();
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Count commits on `branch` that are on NO mainline ref: not on `origin/main`
|
|
94
|
+
* (when that remote-tracking ref exists) and not on any of `extraRefs`
|
|
95
|
+
* (`git rev-list --count <branch> --not <refs...>`). Used to decide whether a
|
|
96
|
+
* branch name may be deleted without losing history (T12506).
|
|
97
|
+
*
|
|
98
|
+
* @param gitRoot - Repository root.
|
|
99
|
+
* @param branch - Branch to inspect.
|
|
100
|
+
* @param extraRefs - Additional refs that count as "merged" (e.g. `baseRef`, `HEAD`).
|
|
101
|
+
* @returns The number of unmerged commits; any git error answers 1 (the safe answer).
|
|
102
|
+
*
|
|
103
|
+
* @task T12506
|
|
104
|
+
*/
|
|
105
|
+
export function countUnmergedCommits(gitRoot, branch, extraRefs = []) {
|
|
106
|
+
const refs = [...extraRefs];
|
|
107
|
+
if (gitSilent(['rev-parse', '--verify', '--quiet', 'refs/remotes/origin/main'], gitRoot)) {
|
|
108
|
+
refs.push('origin/main');
|
|
109
|
+
}
|
|
110
|
+
if (refs.length === 0)
|
|
111
|
+
return 1;
|
|
112
|
+
try {
|
|
113
|
+
const n = Number(gitSync(['rev-list', '--count', branch, '--not', ...refs], gitRoot).trim());
|
|
114
|
+
return Number.isFinite(n) ? n : 1;
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return 1;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
92
120
|
/**
|
|
93
121
|
* Determine the git root directory for a given project path.
|
|
94
122
|
*
|
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
export type { CreateWorktreeOptions, CreateWorktreeResult, DestroyWorktreeOptions, DestroyWorktreeResult, ListWorktreesOptions, PruneWorktreesOptions, PruneWorktreesResult, WorktreeHook, WorktreeHookResult, WorktreeIncludePattern, WorktreeListEntry, } from '@cleocode/contracts';
|
|
24
24
|
export type { CopyPathsOptions } from './copy-on-write.js';
|
|
25
25
|
export { copyPathsWithReflock } from './copy-on-write.js';
|
|
26
|
-
export { type AddTransientWorktreeOptions, addTransientWorktree, DEFAULT_GIT_TIMEOUT_MS, getGitRoot, gitSilent, gitSync, removeTransientWorktree, } from './git.js';
|
|
26
|
+
export { type AddTransientWorktreeOptions, addTransientWorktree, countUnmergedCommits, DEFAULT_GIT_TIMEOUT_MS, getGitRoot, gitSilent, gitSync, removeTransientWorktree, } from './git.js';
|
|
27
27
|
export { destroyWorktree as napiDestroyWorktree, integrateWorktree, provisionWorktree, provisionWorktree as napiProvisionWorktree, pruneWorktrees as napiPruneWorktrees, removeDir as napiRemoveDir, } from './napi-binding.js';
|
|
28
28
|
export type { PartialWorktreeSignals, RecoveryResult } from './recovery.js';
|
|
29
29
|
export { detectPartialWorktree, recoverPartialWorktree } from './recovery.js';
|
|
@@ -35,6 +35,7 @@ export { runWorktreeHooks } from './worktree-hooks.js';
|
|
|
35
35
|
export { applyIncludePatterns, loadWorktreeIncludePatterns } from './worktree-include.js';
|
|
36
36
|
export { listWorktrees, listWorktreesByProjectRoot, resolveWorktreeRoot, } from './worktree-list.js';
|
|
37
37
|
export * from './worktree-locate.js';
|
|
38
|
+
export { type AcquireWorktreeTaskLockOptions, acquireWorktreeTaskLock, assessWorktreeLockHolder, DEFAULT_WORKTREE_LOCK_TTL_MS, heartbeatWorktreeTaskLock, isSameLockCaller, isWorktreeLockedError, type ProcessLiveness, type ProcessProbe, probeProcess, readProcessStartTime, readStableDeviceId, readWorktreeTaskLock, releaseWorktreeTaskLock, resolveWorktreeLockTtlMs, WORKTREE_LOCK_TTL_ENV, type WorktreeLockAssessment, type WorktreeLockedError, } from './worktree-lock.js';
|
|
38
39
|
export type { MigrateWorktreeResult } from './worktree-migrate.js';
|
|
39
40
|
export { discoverParentProjectRoot, migrateAllWorktreeIdentities, migrateWorktreeIdentity, } from './worktree-migrate.js';
|
|
40
41
|
export { installWorktreeDependencies } from './worktree-pnpm.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* @adr ADR-055
|
|
22
22
|
*/
|
|
23
23
|
export { copyPathsWithReflock } from './copy-on-write.js';
|
|
24
|
-
export { addTransientWorktree, DEFAULT_GIT_TIMEOUT_MS, getGitRoot, gitSilent, gitSync, removeTransientWorktree, } from './git.js';
|
|
24
|
+
export { addTransientWorktree, countUnmergedCommits, DEFAULT_GIT_TIMEOUT_MS, getGitRoot, gitSilent, gitSync, removeTransientWorktree, } from './git.js';
|
|
25
25
|
// NAPI bindings (sync, direct to Rust) — for callers that need raw
|
|
26
26
|
// worktree lifecycle without the hooks/audit/dirty-detection wrapper.
|
|
27
27
|
export { destroyWorktree as napiDestroyWorktree, integrateWorktree, provisionWorktree, provisionWorktree as napiProvisionWorktree, pruneWorktrees as napiPruneWorktrees, removeDir as napiRemoveDir, } from './napi-binding.js';
|
|
@@ -33,6 +33,7 @@ export { runWorktreeHooks } from './worktree-hooks.js';
|
|
|
33
33
|
export { applyIncludePatterns, loadWorktreeIncludePatterns } from './worktree-include.js';
|
|
34
34
|
export { listWorktrees, listWorktreesByProjectRoot, resolveWorktreeRoot, } from './worktree-list.js';
|
|
35
35
|
export * from './worktree-locate.js';
|
|
36
|
+
export { acquireWorktreeTaskLock, assessWorktreeLockHolder, DEFAULT_WORKTREE_LOCK_TTL_MS, heartbeatWorktreeTaskLock, isSameLockCaller, isWorktreeLockedError, probeProcess, readProcessStartTime, readStableDeviceId, readWorktreeTaskLock, releaseWorktreeTaskLock, resolveWorktreeLockTtlMs, WORKTREE_LOCK_TTL_ENV, } from './worktree-lock.js';
|
|
36
37
|
export { discoverParentProjectRoot, migrateAllWorktreeIdentities, migrateWorktreeIdentity, } from './worktree-migrate.js';
|
|
37
38
|
export { installWorktreeDependencies } from './worktree-pnpm.js';
|
|
38
39
|
export { assertNoWorktreeConfigLeak, detectAndHealCoreWorktreeLeak, ensureWorktreeBuildReady, } from './worktree-preflight.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAClB,mEAAmE;AACnE,sEAAsE;AACtE,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAClB,mEAAmE;AACnE,sEAAsE;AACtE,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EAGrB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-create.d.ts","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"worktree-create.d.ts","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAEpB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,UAAU,iCAAkC,SAAQ,oBAAoB;IACtE,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,kBAAkB,EAAE,CAAC;KACnC,CAAC;IACF,mEAAmE;IACnE,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AA+LD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,iCAAiC,CAAC,CA6D5C"}
|
package/dist/worktree-create.js
CHANGED
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @task T1161
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
15
|
+
import { randomBytes } from 'node:crypto';
|
|
16
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync, realpathSync, rmSync } from 'node:fs';
|
|
16
17
|
import { join } from 'node:path';
|
|
17
18
|
import { BRANCH_LOCK_ERROR_CODES } from '@cleocode/contracts';
|
|
18
|
-
import { getCleoWorktreesRoot } from '@cleocode/paths';
|
|
19
|
-
import { getGitRoot, gitSilent, gitSync, resolveHeadRef } from './git.js';
|
|
19
|
+
import { getCleoWorktreesRoot, pathEnvKey, prependPathEntry } from '@cleocode/paths';
|
|
20
|
+
import { countUnmergedCommits, getGitRoot, gitSilent, gitSync, resolveHeadRef } from './git.js';
|
|
20
21
|
import { computeProjectHash, resolveTaskWorktreePath, resolveWorktreeRootForHash, } from './paths.js';
|
|
21
22
|
import { addWorktreeToSentinelIndex, appendWorktreeAuditLog } from './worktree-audit.js';
|
|
23
|
+
import { acquireWorktreeTaskLock, releaseWorktreeTaskLock } from './worktree-lock.js';
|
|
22
24
|
import { assertNoWorktreeConfigLeak, ensureWorktreeBuildReady } from './worktree-preflight.js';
|
|
23
25
|
/**
|
|
24
26
|
* Assert that `targetPath` sits inside the canonical XDG worktrees root
|
|
@@ -101,6 +103,88 @@ function applySpawnScope(worktreePath, scope) {
|
|
|
101
103
|
return null;
|
|
102
104
|
}
|
|
103
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* POSIX single-quote one shell word: wrap it in `'...'` and rewrite each
|
|
108
|
+
* embedded `'` as `'\''`. The result is one literal word for any input — no
|
|
109
|
+
* word splitting, parameter, command or glob expansion — so a copy-pasted
|
|
110
|
+
* `cd` into a worktree under `Application Support` parses (T12528).
|
|
111
|
+
*
|
|
112
|
+
* @param value - Raw path.
|
|
113
|
+
* @returns The single-quoted shell word.
|
|
114
|
+
*/
|
|
115
|
+
function shellQuote(value) {
|
|
116
|
+
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Parse `git worktree list --porcelain` into one record per worktree.
|
|
120
|
+
*
|
|
121
|
+
* @param gitRoot - Repository root.
|
|
122
|
+
* @returns Entries with their realpath-normalised path and `locked` flag.
|
|
123
|
+
*/
|
|
124
|
+
function listRegisteredWorktrees(gitRoot) {
|
|
125
|
+
let out;
|
|
126
|
+
try {
|
|
127
|
+
out = gitSync(['worktree', 'list', '--porcelain'], gitRoot);
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const entries = [];
|
|
133
|
+
for (const block of out.split(/\n\s*\n/)) {
|
|
134
|
+
const lines = block.split('\n');
|
|
135
|
+
const head = lines.find((l) => l.startsWith('worktree '));
|
|
136
|
+
if (!head)
|
|
137
|
+
continue;
|
|
138
|
+
entries.push({
|
|
139
|
+
path: realpathOrSelf(head.slice('worktree '.length)),
|
|
140
|
+
locked: lines.some((l) => l === 'locked' || l.startsWith('locked ')),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return entries;
|
|
144
|
+
}
|
|
145
|
+
/** `realpathSync` that falls back to the input for a missing path. */
|
|
146
|
+
function realpathOrSelf(path) {
|
|
147
|
+
try {
|
|
148
|
+
return realpathSync(path);
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return path;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* True when `worktreePath` is a worktree git knows about in `gitRoot`
|
|
156
|
+
* (T12506: the only kind of existing directory `createWorktree` re-attaches).
|
|
157
|
+
*/
|
|
158
|
+
function isRegisteredWorktree(gitRoot, worktreePath) {
|
|
159
|
+
const target = realpathOrSelf(worktreePath);
|
|
160
|
+
return listRegisteredWorktrees(gitRoot).some((e) => e.path === target);
|
|
161
|
+
}
|
|
162
|
+
/** True when git already holds a `git worktree lock` on `worktreePath`. */
|
|
163
|
+
function isGitLockedWorktree(gitRoot, worktreePath) {
|
|
164
|
+
const target = realpathOrSelf(worktreePath);
|
|
165
|
+
return listRegisteredWorktrees(gitRoot).some((e) => e.path === target && e.locked);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Free the branch NAME `branch` so it can be recreated, without losing any
|
|
169
|
+
* commit that is not on the mainline (T12506).
|
|
170
|
+
*
|
|
171
|
+
* - Branch fully merged into the mainline → `git branch -D` (nothing is lost).
|
|
172
|
+
* - Otherwise → `git branch -m` to `cleo/preserved/<branch>/<utc-stamp>-<random>`.
|
|
173
|
+
* The random suffix keeps two resets in the same second from colliding. A
|
|
174
|
+
* failed rename THROWS — it never falls through to `branch -D`.
|
|
175
|
+
*
|
|
176
|
+
* @throws Error when the branch name could not be freed (the caller must not proceed).
|
|
177
|
+
*/
|
|
178
|
+
function discardBranchName(gitRoot, branch, fallbackRef) {
|
|
179
|
+
if (countUnmergedCommits(gitRoot, branch, [fallbackRef]) === 0) {
|
|
180
|
+
gitSync(['branch', '-D', branch], gitRoot);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const stamp = new Date().toISOString().replace(/[-:]/g, '').replace(/\..*$/, 'Z');
|
|
184
|
+
const preserved = `cleo/preserved/${branch}/${stamp}-${randomBytes(4).toString('hex')}`;
|
|
185
|
+
gitSync(['branch', '-m', branch, preserved], gitRoot);
|
|
186
|
+
process.stderr.write(`[worktree] preserved unmerged history of ${branch} as ${preserved} (never deleted)\n`);
|
|
187
|
+
}
|
|
104
188
|
/**
|
|
105
189
|
* Create a git worktree for an agent task.
|
|
106
190
|
*
|
|
@@ -155,75 +239,127 @@ export async function createWorktree(projectRoot, options) {
|
|
|
155
239
|
// work tree" error. This call is idempotent — when no leak is present it
|
|
156
240
|
// returns immediately with no side-effects.
|
|
157
241
|
assertNoWorktreeConfigLeak(gitRoot);
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
242
|
+
// T12506 — take the per-task lock BEFORE touching the worktree or branch.
|
|
243
|
+
// Two concurrent spawns of one task used to both pass the check-then-act
|
|
244
|
+
// below; the loser force-removed the winner's live worktree. A live holder
|
|
245
|
+
// now gets E_WORKTREE_LOCKED naming it; a provably dead or stale holder's
|
|
246
|
+
// lock is reclaimed.
|
|
247
|
+
const lock = acquireWorktreeTaskLock({
|
|
248
|
+
projectHash,
|
|
249
|
+
taskId,
|
|
250
|
+
...(options.holder ? { holder: options.holder } : {}),
|
|
251
|
+
...(options.lockTtlMs !== undefined ? { ttlMs: options.lockTtlMs } : {}),
|
|
252
|
+
});
|
|
253
|
+
const ctx = {
|
|
254
|
+
gitRoot,
|
|
255
|
+
projectHash,
|
|
256
|
+
branch,
|
|
257
|
+
baseRef,
|
|
258
|
+
worktreePath,
|
|
259
|
+
hooks,
|
|
260
|
+
lockWorktree,
|
|
261
|
+
applyInclude,
|
|
262
|
+
lock,
|
|
263
|
+
freshWorktreeCreated: false,
|
|
264
|
+
};
|
|
265
|
+
try {
|
|
266
|
+
return await provisionUnderLock(projectRoot, options, ctx);
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
releaseWorktreeTaskLock(projectHash, taskId, lock.record.token);
|
|
270
|
+
// T12506: tell callers whether THIS call created the worktree directory.
|
|
271
|
+
// Only then may they clean it up; any other failure left a pre-existing
|
|
272
|
+
// (possibly live) worktree that must never be destroyed.
|
|
273
|
+
if (err !== null && typeof err === 'object') {
|
|
274
|
+
Object.assign(err, { freshWorktreeCreated: ctx.freshWorktreeCreated });
|
|
174
275
|
}
|
|
276
|
+
throw err;
|
|
175
277
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Everything `createWorktree` does once the per-task lock is held.
|
|
281
|
+
*
|
|
282
|
+
* T12506 invariants:
|
|
283
|
+
* - An existing worktree directory is NEVER force-removed. When it is a
|
|
284
|
+
* registered worktree of this repository it is re-attached as-is
|
|
285
|
+
* (`reused: true`) — no checkout, include copy, hook or install touches
|
|
286
|
+
* its files, because its previous (now dead or stale) holder may have left
|
|
287
|
+
* uncommitted, gitignored or unmerged work in it.
|
|
288
|
+
* - A task branch that carries commits not on the mainline (`origin/main`,
|
|
289
|
+
* else `baseRef`) is never `branch -D`'d; `forceReset` renames it to a
|
|
290
|
+
* `cleo/preserved/...` ref instead.
|
|
291
|
+
*
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
async function provisionUnderLock(projectRoot, options, ctx) {
|
|
295
|
+
const { taskId } = options;
|
|
296
|
+
const { gitRoot, projectHash, branch, baseRef, worktreePath, hooks, lockWorktree, lock } = ctx;
|
|
297
|
+
const { applyInclude } = ctx;
|
|
184
298
|
let reused;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
.
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
299
|
+
let reattached = false;
|
|
300
|
+
if (existsSync(worktreePath)) {
|
|
301
|
+
if (!isRegisteredWorktree(gitRoot, worktreePath)) {
|
|
302
|
+
throw Object.assign(new Error(`${BRANCH_LOCK_ERROR_CODES.E_WORKTREE_INVALID}: "${worktreePath}" exists but is not a ` +
|
|
303
|
+
`registered git worktree of ${gitRoot}. It is left untouched because it may hold ` +
|
|
304
|
+
`agent work; inspect it, move it aside, then re-run the spawn.`), { code: BRANCH_LOCK_ERROR_CODES.E_WORKTREE_INVALID, worktreePath });
|
|
305
|
+
}
|
|
306
|
+
process.stderr.write(`[worktree] re-attaching existing worktree at ${worktreePath} (lock ${lock.status}` +
|
|
307
|
+
`${lock.reclaimReason ? `: previous holder ${lock.reclaimReason}` : ''}); nothing removed\n`);
|
|
308
|
+
reused = true;
|
|
309
|
+
reattached = true;
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
// Check whether the branch already exists without a worktree directory.
|
|
313
|
+
// This happens when a prior spawn created the branch but the worktree
|
|
314
|
+
// directory was cleaned up (e.g. aborted after `git worktree add` but
|
|
315
|
+
// before the agent ran). Attaching to the existing branch avoids the
|
|
316
|
+
// "branch already exists" error from `git worktree add -b`.
|
|
317
|
+
// `git branch --list <branch>` exits 0 regardless; non-empty output means
|
|
318
|
+
// the branch exists.
|
|
319
|
+
const branchExists = gitSync(['branch', '--list', branch], gitRoot).trim() !== '';
|
|
320
|
+
if (branchExists) {
|
|
321
|
+
// T1927: detect orphan history — commits on task/<taskId> that are not
|
|
322
|
+
// reachable from baseRef. Merging such a branch would import garbage
|
|
323
|
+
// history into the integration base.
|
|
324
|
+
const orphanLog = gitSync(['log', '--format=%H', `${baseRef}..${branch}`], gitRoot).trim();
|
|
325
|
+
const orphanCommits = orphanLog
|
|
326
|
+
.split('\n')
|
|
327
|
+
.map((s) => s.trim())
|
|
328
|
+
.filter(Boolean);
|
|
329
|
+
if (orphanCommits.length > 0) {
|
|
330
|
+
if (options.forceReset) {
|
|
331
|
+
// T12506: never `branch -D` history that is not on the mainline —
|
|
332
|
+
// move it aside to a preserved ref, then recreate from baseRef.
|
|
333
|
+
discardBranchName(gitRoot, branch, baseRef);
|
|
334
|
+
gitSync(['worktree', 'add', '-b', branch, worktreePath, baseRef], gitRoot);
|
|
335
|
+
ctx.freshWorktreeCreated = true;
|
|
336
|
+
reused = false;
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
throw Object.assign(new Error(`${BRANCH_LOCK_ERROR_CODES.E_DIRTY_BRANCH}: branch "${branch}" has ` +
|
|
340
|
+
`${orphanCommits.length} commit(s) not reachable from "${baseRef}". ` +
|
|
341
|
+
`This indicates orphan history from a test fixture or prior session. ` +
|
|
342
|
+
`Inspect the branch, or pass { forceReset: true } to createWorktree to move ` +
|
|
343
|
+
`it aside to a preserved ref and start fresh.`), { code: BRANCH_LOCK_ERROR_CODES.E_DIRTY_BRANCH, orphanCommits });
|
|
344
|
+
}
|
|
204
345
|
}
|
|
205
346
|
else {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
`{ forceReset: true } to createWorktree.`), { code: BRANCH_LOCK_ERROR_CODES.E_DIRTY_BRANCH, orphanCommits });
|
|
347
|
+
// Branch exists but is clean (points to baseRef or an ancestor) — safe to reuse.
|
|
348
|
+
gitSync(['worktree', 'add', worktreePath, branch], gitRoot);
|
|
349
|
+
ctx.freshWorktreeCreated = true;
|
|
350
|
+
reused = true;
|
|
211
351
|
}
|
|
212
352
|
}
|
|
213
353
|
else {
|
|
214
|
-
//
|
|
215
|
-
gitSync(['worktree', 'add', worktreePath,
|
|
216
|
-
|
|
354
|
+
// Create the worktree with a new branch.
|
|
355
|
+
gitSync(['worktree', 'add', '-b', branch, worktreePath, baseRef], gitRoot);
|
|
356
|
+
ctx.freshWorktreeCreated = true;
|
|
357
|
+
reused = false;
|
|
217
358
|
}
|
|
218
359
|
}
|
|
219
|
-
else {
|
|
220
|
-
// Create the worktree with a new branch.
|
|
221
|
-
gitSync(['worktree', 'add', '-b', branch, worktreePath, baseRef], gitRoot);
|
|
222
|
-
reused = false;
|
|
223
|
-
}
|
|
224
360
|
// Apply git worktree lock to prevent accidental pruning.
|
|
225
|
-
let locked =
|
|
226
|
-
if (lockWorktree) {
|
|
361
|
+
let locked = reattached && isGitLockedWorktree(gitRoot, worktreePath);
|
|
362
|
+
if (lockWorktree && !locked) {
|
|
227
363
|
// Try with --reason (git >= 2.37), fall back without.
|
|
228
364
|
if (gitSilent(['worktree', 'lock', '--reason', `cleo-agent-${taskId}`, worktreePath], gitRoot)) {
|
|
229
365
|
locked = true;
|
|
@@ -236,18 +372,24 @@ export async function createWorktree(projectRoot, options) {
|
|
|
236
372
|
// T9226 — spawn-clone-exclude filter: hide files matching the exclude
|
|
237
373
|
// patterns from the worktree via sparse-checkout. Best-effort.
|
|
238
374
|
const excludePatterns = options.spawnCloneExclude ?? [];
|
|
239
|
-
|
|
375
|
+
// T12506: a re-attached worktree is left exactly as its holder left it —
|
|
376
|
+
// no sparse-checkout, hooks, include copies or installs touch its files.
|
|
377
|
+
const appliedExcludePatterns = !reattached && excludePatterns.length > 0
|
|
378
|
+
? applySpawnCloneExcludeFilter(worktreePath, excludePatterns)
|
|
379
|
+
: [];
|
|
240
380
|
// T9807 — spawn scope: limit the worktree to a directory prefix via cone-mode
|
|
241
381
|
// sparse-checkout (e.g. `packages/cleo` for a CLI-only task). Best-effort;
|
|
242
382
|
// falls back to full checkout when the operation fails or is not supported.
|
|
243
383
|
// Only applied when no exclude-patterns sparse-checkout is already active to
|
|
244
384
|
// avoid conflicting sparse-checkout modes.
|
|
245
385
|
const spawnScope = options.spawnScope ?? null;
|
|
246
|
-
const appliedScope = spawnScope && appliedExcludePatterns.length === 0
|
|
386
|
+
const appliedScope = !reattached && spawnScope && appliedExcludePatterns.length === 0
|
|
247
387
|
? applySpawnScope(worktreePath, spawnScope)
|
|
248
388
|
: null;
|
|
249
389
|
// Run post-create hooks before returning the handle.
|
|
250
|
-
const postCreateHookResults =
|
|
390
|
+
const postCreateHookResults = reattached
|
|
391
|
+
? []
|
|
392
|
+
: await runWorktreeHooks(hooks, 'post-create', worktreePath);
|
|
251
393
|
// Apply .worktreeinclude (or legacy .cleo/worktree-include) patterns.
|
|
252
394
|
// The matcher in @cleocode/worktree-napi uses real ignore::gitignore
|
|
253
395
|
// semantics — the prior existsSync-on-literal-pattern bug is gone.
|
|
@@ -258,7 +400,7 @@ export async function createWorktree(projectRoot, options) {
|
|
|
258
400
|
// the pnpm-monorepo-only 1.9 GB / 69k-file blast radius the hardcoded list
|
|
259
401
|
// imposed on every spawn (the 60s timeout root cause).
|
|
260
402
|
let appliedPatterns = [];
|
|
261
|
-
if (applyInclude) {
|
|
403
|
+
if (applyInclude && !reattached) {
|
|
262
404
|
const patterns = loadWorktreeIncludePatterns(projectRoot);
|
|
263
405
|
appliedPatterns = applyIncludePatterns(patterns, projectRoot, worktreePath);
|
|
264
406
|
}
|
|
@@ -267,7 +409,7 @@ export async function createWorktree(projectRoot, options) {
|
|
|
267
409
|
// to the parent project root (which may not be accessible from containerized
|
|
268
410
|
// builds or when the XDG worktree path is outside the parent repo tree).
|
|
269
411
|
const parentProjectInfoPath = join(projectRoot, '.cleo', 'project-info.json');
|
|
270
|
-
if (existsSync(parentProjectInfoPath)) {
|
|
412
|
+
if (!reattached && existsSync(parentProjectInfoPath)) {
|
|
271
413
|
const worktreeCleoDir = join(worktreePath, '.cleo');
|
|
272
414
|
mkdirSync(worktreeCleoDir, { recursive: true });
|
|
273
415
|
const worktreeProjectInfoPath = join(worktreeCleoDir, 'project-info.json');
|
|
@@ -322,7 +464,10 @@ export async function createWorktree(projectRoot, options) {
|
|
|
322
464
|
// worktrees are provisioned concurrently. Only runs when pnpm-lock.yaml
|
|
323
465
|
// was included via .worktreeinclude (i.e. the project uses pnpm).
|
|
324
466
|
// Uses per-worktree pnpm store (.pnpm-store/) for full isolation.
|
|
325
|
-
if (
|
|
467
|
+
if (reattached) {
|
|
468
|
+
// T12506: never install into (or otherwise mutate) a re-attached worktree.
|
|
469
|
+
}
|
|
470
|
+
else if (appliedPatterns.some((p) => p.pattern === 'pnpm-lock.yaml')) {
|
|
326
471
|
const installed = installWorktreeDependencies(worktreePath, gitRoot);
|
|
327
472
|
if (installed) {
|
|
328
473
|
copiedPaths.push('node_modules/ (pnpm install)');
|
|
@@ -347,9 +492,11 @@ export async function createWorktree(projectRoot, options) {
|
|
|
347
492
|
// 'already-ready' and 'no-lockfile' require no action on copiedPaths/failedPaths.
|
|
348
493
|
}
|
|
349
494
|
// Run post-start hooks after copy-on-write bootstrap.
|
|
350
|
-
const postStartHookResults =
|
|
495
|
+
const postStartHookResults = reattached
|
|
496
|
+
? []
|
|
497
|
+
: await runWorktreeHooks(hooks, 'post-start', worktreePath);
|
|
351
498
|
// Build env vars for agent spawn.
|
|
352
|
-
const
|
|
499
|
+
const pathKey = pathEnvKey();
|
|
353
500
|
const shimDir = join(projectRoot, '.cleo', 'bin', 'git-shim');
|
|
354
501
|
const envVars = {
|
|
355
502
|
CLEO_AGENT_ROLE: 'worker',
|
|
@@ -359,7 +506,9 @@ export async function createWorktree(projectRoot, options) {
|
|
|
359
506
|
CLEO_PROJECT_HASH: projectHash,
|
|
360
507
|
CLEO_BRANCH_PROTECTION: 'strict',
|
|
361
508
|
CLEO_SHIM_MARKER: '.cleo/bin/git-shim',
|
|
362
|
-
|
|
509
|
+
// Platform delimiter: ':' would fuse the shim dir with the first real
|
|
510
|
+
// Windows PATH entry and lose both (T12605).
|
|
511
|
+
[pathKey]: prependPathEntry(shimDir, process.env[pathKey]),
|
|
363
512
|
};
|
|
364
513
|
// Build the preamble text for agent context isolation (per acceptance criterion).
|
|
365
514
|
const preamble = [
|
|
@@ -367,7 +516,7 @@ export async function createWorktree(projectRoot, options) {
|
|
|
367
516
|
'',
|
|
368
517
|
`CLEO_AGENT_CWD=${worktreePath}`,
|
|
369
518
|
'',
|
|
370
|
-
`FIRST ACTION: cd ${worktreePath}`,
|
|
519
|
+
`FIRST ACTION: cd ${shellQuote(worktreePath)}`,
|
|
371
520
|
'',
|
|
372
521
|
`You are working on branch: ${branch}`,
|
|
373
522
|
'You MUST NOT run any of these git commands:',
|
|
@@ -386,7 +535,7 @@ export async function createWorktree(projectRoot, options) {
|
|
|
386
535
|
xdgPath: worktreePath,
|
|
387
536
|
taskId,
|
|
388
537
|
branch,
|
|
389
|
-
reason: reused ? 'branch-reuse' : 'spawn',
|
|
538
|
+
reason: reattached ? 'worktree-reattach' : reused ? 'branch-reuse' : 'spawn',
|
|
390
539
|
success: true,
|
|
391
540
|
});
|
|
392
541
|
// T9805 D009: Register this worktree in the sentinel index.
|
|
@@ -400,6 +549,7 @@ export async function createWorktree(projectRoot, options) {
|
|
|
400
549
|
createdAt,
|
|
401
550
|
locked,
|
|
402
551
|
reused,
|
|
552
|
+
lock,
|
|
403
553
|
envVars,
|
|
404
554
|
preamble,
|
|
405
555
|
hookResults: postCreateHookResults,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-create.js","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worktree-create.js","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-destroy.d.ts","sourceRoot":"","sources":["../src/worktree-destroy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-destroy.d.ts","sourceRoot":"","sources":["../src/worktree-destroy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AASzF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAqLhC"}
|