@cleocode/worktree 2026.5.77 → 2026.5.79
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/compat.d.ts.map +1 -1
- package/dist/compat.js +4 -1
- package/dist/compat.js.map +1 -1
- package/dist/copy-on-write.d.ts.map +1 -1
- package/dist/copy-on-write.js +17 -2
- package/dist/copy-on-write.js.map +1 -1
- package/dist/git.d.ts +30 -6
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +37 -7
- package/dist/git.js.map +1 -1
- package/dist/worktree-list.d.ts.map +1 -1
- package/dist/worktree-list.js +4 -0
- package/dist/worktree-list.js.map +1 -1
- package/package.json +3 -3
package/dist/compat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAE9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,GAC3B,oBAAoB,CAuBtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CAAO,GAC/C,iBAAiB,CAenB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAE9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,GAC3B,oBAAoB,CAuBtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CAAO,GAC/C,iBAAiB,CAenB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,EAAE,CA8BvF"}
|
package/dist/compat.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { execFileSync } from 'node:child_process';
|
|
16
16
|
import { existsSync, mkdirSync, rmSync } from 'node:fs';
|
|
17
17
|
import { join } from 'node:path';
|
|
18
|
-
import { gitSilent, gitSync } from './git.js';
|
|
18
|
+
import { DEFAULT_GIT_TIMEOUT_MS, gitSilent, gitSync } from './git.js';
|
|
19
19
|
import { resolveWorktreeRootForHash } from './paths.js';
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
21
21
|
// Legacy API implementations
|
|
@@ -98,9 +98,12 @@ export function legacyMergeWorktree(handle, config, options = {}) {
|
|
|
98
98
|
*/
|
|
99
99
|
export function legacyListWorktrees(config) {
|
|
100
100
|
try {
|
|
101
|
+
// T9545 — bound `git worktree list` with a default timeout so a wedged
|
|
102
|
+
// child can never block legacy worktree enumeration callers.
|
|
101
103
|
const output = execFileSync('git', ['worktree', 'list', '--porcelain'], {
|
|
102
104
|
cwd: config.gitRoot,
|
|
103
105
|
encoding: 'utf-8',
|
|
106
|
+
timeout: DEFAULT_GIT_TIMEOUT_MS,
|
|
104
107
|
});
|
|
105
108
|
const entries = [];
|
|
106
109
|
const root = legacyResolveWorktreeRoot(config);
|
package/dist/compat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-on-write.d.ts","sourceRoot":"","sources":["../src/copy-on-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"copy-on-write.d.ts","sourceRoot":"","sources":["../src/copy-on-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAyCjD"}
|
package/dist/copy-on-write.js
CHANGED
|
@@ -16,7 +16,15 @@ import { execFile } from 'node:child_process';
|
|
|
16
16
|
import { constants, existsSync, promises as fs, mkdirSync } from 'node:fs';
|
|
17
17
|
import { dirname, join } from 'node:path';
|
|
18
18
|
import { promisify } from 'node:util';
|
|
19
|
+
import { DEFAULT_GIT_TIMEOUT_MS } from './git.js';
|
|
19
20
|
const execFileAsync = promisify(execFile);
|
|
21
|
+
/**
|
|
22
|
+
* Default per-copy subprocess timeout in milliseconds (T9545).
|
|
23
|
+
*
|
|
24
|
+
* Reuses {@link DEFAULT_GIT_TIMEOUT_MS} so spawn-pipeline subprocess budgets
|
|
25
|
+
* stay aligned across git and `cp` invocations.
|
|
26
|
+
*/
|
|
27
|
+
const DEFAULT_COPY_TIMEOUT_MS = DEFAULT_GIT_TIMEOUT_MS;
|
|
20
28
|
/**
|
|
21
29
|
* Copy multiple paths from a source directory to a target directory using
|
|
22
30
|
* copy-on-write when available.
|
|
@@ -82,11 +90,18 @@ export async function copyPathsWithReflock(paths, sourceDir, targetDir) {
|
|
|
82
90
|
async function copyWithReflock(sourcePath, targetPath) {
|
|
83
91
|
const platform = process.platform;
|
|
84
92
|
if (platform === 'darwin') {
|
|
85
|
-
|
|
93
|
+
// T9545 — bound cp -cR with a default timeout to keep the spawn pipeline
|
|
94
|
+
// safe against runaway / wedged subprocesses.
|
|
95
|
+
await execFileAsync('cp', ['-cR', sourcePath, targetPath], {
|
|
96
|
+
timeout: DEFAULT_COPY_TIMEOUT_MS,
|
|
97
|
+
});
|
|
86
98
|
return;
|
|
87
99
|
}
|
|
88
100
|
if (platform === 'linux') {
|
|
89
|
-
|
|
101
|
+
// T9545 — bound cp --reflink with a default timeout.
|
|
102
|
+
await execFileAsync('cp', ['-R', '--reflink=auto', sourcePath, targetPath], {
|
|
103
|
+
timeout: DEFAULT_COPY_TIMEOUT_MS,
|
|
104
|
+
});
|
|
90
105
|
return;
|
|
91
106
|
}
|
|
92
107
|
if (platform === 'win32') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-on-write.js","sourceRoot":"","sources":["../src/copy-on-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"copy-on-write.js","sourceRoot":"","sources":["../src/copy-on-write.ts"],"names":[],"mappings":"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"}
|
package/dist/git.d.ts
CHANGED
|
@@ -4,17 +4,35 @@
|
|
|
4
4
|
* All git invocations use `execFileSync` / `execFile` with explicit arg
|
|
5
5
|
* arrays (never shell interpolation) to prevent command injection.
|
|
6
6
|
*
|
|
7
|
+
* T9545 — every helper now enforces a default per-subprocess timeout
|
|
8
|
+
* (`DEFAULT_GIT_TIMEOUT_MS`) so a wedged git child can never block the
|
|
9
|
+
* spawn pipeline indefinitely. Callers may override per-call.
|
|
10
|
+
*
|
|
7
11
|
* @task T1161
|
|
12
|
+
* @task T9545
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Default per-subprocess timeout for every git invocation in this module.
|
|
16
|
+
*
|
|
17
|
+
* 60s mirrors the T9501 `runGitWithLockRetry` budget — long enough for normal
|
|
18
|
+
* `git worktree add` on large repos, short enough that a hung child surfaces
|
|
19
|
+
* a clear timeout error to the spawn pipeline supervisor.
|
|
20
|
+
*
|
|
21
|
+
* @task T9545
|
|
8
22
|
*/
|
|
23
|
+
export declare const DEFAULT_GIT_TIMEOUT_MS = 60000;
|
|
9
24
|
/**
|
|
10
25
|
* Run a git command synchronously and return trimmed stdout.
|
|
11
26
|
*
|
|
12
27
|
* @param args - Git argument array (do NOT include "git" as first element).
|
|
13
28
|
* @param cwd - Working directory for the git command.
|
|
29
|
+
* @param timeoutMs - Optional timeout override in milliseconds. Defaults to
|
|
30
|
+
* {@link DEFAULT_GIT_TIMEOUT_MS}. Pass `0` to disable (NOT recommended).
|
|
14
31
|
* @returns Trimmed stdout string.
|
|
15
|
-
* @throws Error if the command exits non-zero.
|
|
32
|
+
* @throws Error if the command exits non-zero or exceeds the timeout.
|
|
33
|
+
* @task T9545
|
|
16
34
|
*/
|
|
17
|
-
export declare function gitSync(args: string[], cwd: string): string;
|
|
35
|
+
export declare function gitSync(args: string[], cwd: string, timeoutMs?: number): string;
|
|
18
36
|
/**
|
|
19
37
|
* Run a git command synchronously, returning false instead of throwing on error.
|
|
20
38
|
*
|
|
@@ -22,18 +40,24 @@ export declare function gitSync(args: string[], cwd: string): string;
|
|
|
22
40
|
*
|
|
23
41
|
* @param args - Git argument array.
|
|
24
42
|
* @param cwd - Working directory.
|
|
25
|
-
* @
|
|
43
|
+
* @param timeoutMs - Optional timeout override in milliseconds. Defaults to
|
|
44
|
+
* {@link DEFAULT_GIT_TIMEOUT_MS}.
|
|
45
|
+
* @returns true on exit 0, false otherwise (including timeout).
|
|
46
|
+
* @task T9545
|
|
26
47
|
*/
|
|
27
|
-
export declare function gitSilent(args: string[], cwd: string): boolean;
|
|
48
|
+
export declare function gitSilent(args: string[], cwd: string, timeoutMs?: number): boolean;
|
|
28
49
|
/**
|
|
29
50
|
* Run a git command asynchronously, returning trimmed stdout.
|
|
30
51
|
*
|
|
31
52
|
* @param args - Git argument array.
|
|
32
53
|
* @param cwd - Working directory.
|
|
54
|
+
* @param timeoutMs - Optional timeout override in milliseconds. Defaults to
|
|
55
|
+
* {@link DEFAULT_GIT_TIMEOUT_MS}.
|
|
33
56
|
* @returns Promise resolving to trimmed stdout.
|
|
34
|
-
* @throws Error if the command exits non-zero.
|
|
57
|
+
* @throws Error if the command exits non-zero or exceeds the timeout.
|
|
58
|
+
* @task T9545
|
|
35
59
|
*/
|
|
36
|
-
export declare function gitAsync(args: string[], cwd: string): Promise<string>;
|
|
60
|
+
export declare function gitAsync(args: string[], cwd: string, timeoutMs?: number): Promise<string>;
|
|
37
61
|
/**
|
|
38
62
|
* Determine the git root directory for a given project path.
|
|
39
63
|
*
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;;;;;;;;;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"}
|
package/dist/git.js
CHANGED
|
@@ -4,24 +4,43 @@
|
|
|
4
4
|
* All git invocations use `execFileSync` / `execFile` with explicit arg
|
|
5
5
|
* arrays (never shell interpolation) to prevent command injection.
|
|
6
6
|
*
|
|
7
|
+
* T9545 — every helper now enforces a default per-subprocess timeout
|
|
8
|
+
* (`DEFAULT_GIT_TIMEOUT_MS`) so a wedged git child can never block the
|
|
9
|
+
* spawn pipeline indefinitely. Callers may override per-call.
|
|
10
|
+
*
|
|
7
11
|
* @task T1161
|
|
12
|
+
* @task T9545
|
|
8
13
|
*/
|
|
9
14
|
import { execFile, execFileSync } from 'node:child_process';
|
|
10
15
|
import { promisify } from 'node:util';
|
|
11
16
|
const execFileAsync = promisify(execFile);
|
|
17
|
+
/**
|
|
18
|
+
* Default per-subprocess timeout for every git invocation in this module.
|
|
19
|
+
*
|
|
20
|
+
* 60s mirrors the T9501 `runGitWithLockRetry` budget — long enough for normal
|
|
21
|
+
* `git worktree add` on large repos, short enough that a hung child surfaces
|
|
22
|
+
* a clear timeout error to the spawn pipeline supervisor.
|
|
23
|
+
*
|
|
24
|
+
* @task T9545
|
|
25
|
+
*/
|
|
26
|
+
export const DEFAULT_GIT_TIMEOUT_MS = 60_000;
|
|
12
27
|
/**
|
|
13
28
|
* Run a git command synchronously and return trimmed stdout.
|
|
14
29
|
*
|
|
15
30
|
* @param args - Git argument array (do NOT include "git" as first element).
|
|
16
31
|
* @param cwd - Working directory for the git command.
|
|
32
|
+
* @param timeoutMs - Optional timeout override in milliseconds. Defaults to
|
|
33
|
+
* {@link DEFAULT_GIT_TIMEOUT_MS}. Pass `0` to disable (NOT recommended).
|
|
17
34
|
* @returns Trimmed stdout string.
|
|
18
|
-
* @throws Error if the command exits non-zero.
|
|
35
|
+
* @throws Error if the command exits non-zero or exceeds the timeout.
|
|
36
|
+
* @task T9545
|
|
19
37
|
*/
|
|
20
|
-
export function gitSync(args, cwd) {
|
|
38
|
+
export function gitSync(args, cwd, timeoutMs) {
|
|
21
39
|
return execFileSync('git', args, {
|
|
22
40
|
cwd,
|
|
23
41
|
encoding: 'utf-8',
|
|
24
42
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
43
|
+
timeout: timeoutMs ?? DEFAULT_GIT_TIMEOUT_MS,
|
|
25
44
|
}).trim();
|
|
26
45
|
}
|
|
27
46
|
/**
|
|
@@ -31,11 +50,18 @@ export function gitSync(args, cwd) {
|
|
|
31
50
|
*
|
|
32
51
|
* @param args - Git argument array.
|
|
33
52
|
* @param cwd - Working directory.
|
|
34
|
-
* @
|
|
53
|
+
* @param timeoutMs - Optional timeout override in milliseconds. Defaults to
|
|
54
|
+
* {@link DEFAULT_GIT_TIMEOUT_MS}.
|
|
55
|
+
* @returns true on exit 0, false otherwise (including timeout).
|
|
56
|
+
* @task T9545
|
|
35
57
|
*/
|
|
36
|
-
export function gitSilent(args, cwd) {
|
|
58
|
+
export function gitSilent(args, cwd, timeoutMs) {
|
|
37
59
|
try {
|
|
38
|
-
execFileSync('git', args, {
|
|
60
|
+
execFileSync('git', args, {
|
|
61
|
+
cwd,
|
|
62
|
+
stdio: 'pipe',
|
|
63
|
+
timeout: timeoutMs ?? DEFAULT_GIT_TIMEOUT_MS,
|
|
64
|
+
});
|
|
39
65
|
return true;
|
|
40
66
|
}
|
|
41
67
|
catch {
|
|
@@ -47,13 +73,17 @@ export function gitSilent(args, cwd) {
|
|
|
47
73
|
*
|
|
48
74
|
* @param args - Git argument array.
|
|
49
75
|
* @param cwd - Working directory.
|
|
76
|
+
* @param timeoutMs - Optional timeout override in milliseconds. Defaults to
|
|
77
|
+
* {@link DEFAULT_GIT_TIMEOUT_MS}.
|
|
50
78
|
* @returns Promise resolving to trimmed stdout.
|
|
51
|
-
* @throws Error if the command exits non-zero.
|
|
79
|
+
* @throws Error if the command exits non-zero or exceeds the timeout.
|
|
80
|
+
* @task T9545
|
|
52
81
|
*/
|
|
53
|
-
export async function gitAsync(args, cwd) {
|
|
82
|
+
export async function gitAsync(args, cwd, timeoutMs) {
|
|
54
83
|
const { stdout } = await execFileAsync('git', args, {
|
|
55
84
|
cwd,
|
|
56
85
|
encoding: 'utf-8',
|
|
86
|
+
timeout: timeoutMs ?? DEFAULT_GIT_TIMEOUT_MS,
|
|
57
87
|
});
|
|
58
88
|
return stdout.trim();
|
|
59
89
|
}
|
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,GAAW,EAAE,SAAkB;IACrE,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;QAC/B,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,SAAS,IAAI,sBAAsB;KAC7C,CAAC,CAAC,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,GAAW,EAAE,SAAkB;IACvE,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YACxB,GAAG;YACH,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,SAAS,IAAI,sBAAsB;SAC7C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAW,EAAE,SAAkB;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;QAClD,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,SAAS,IAAI,sBAAsB;KAC7C,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,QAAQ,GAAG,MAAM;IAC/D,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-list.d.ts","sourceRoot":"","sources":["../src/worktree-list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-list.d.ts","sourceRoot":"","sources":["../src/worktree-list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQnF;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,iBAAiB,EAAE,CAyCrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAGnF"}
|
package/dist/worktree-list.js
CHANGED
|
@@ -10,6 +10,7 @@ import { execFileSync } from 'node:child_process';
|
|
|
10
10
|
import { existsSync, readdirSync } from 'node:fs';
|
|
11
11
|
import { join } from 'node:path';
|
|
12
12
|
import { computeProjectHash, getCleoWorktreesRoot, resolveWorktreeRootForHash, } from '@cleocode/paths';
|
|
13
|
+
import { DEFAULT_GIT_TIMEOUT_MS } from './git.js';
|
|
13
14
|
/**
|
|
14
15
|
* Resolve the worktree root directory for a given project hash.
|
|
15
16
|
*
|
|
@@ -94,9 +95,12 @@ export function listWorktreesByProjectRoot(projectRoot) {
|
|
|
94
95
|
*/
|
|
95
96
|
function resolveWorktreeBranch(worktreePath) {
|
|
96
97
|
try {
|
|
98
|
+
// T9545 — bound git rev-parse with a default timeout so a wedged child
|
|
99
|
+
// can never block worktree enumeration in the spawn pipeline.
|
|
97
100
|
return execFileSync('git', ['-C', worktreePath, 'rev-parse', '--abbrev-ref', 'HEAD'], {
|
|
98
101
|
encoding: 'utf-8',
|
|
99
102
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
103
|
+
timeout: DEFAULT_GIT_TIMEOUT_MS,
|
|
100
104
|
}).trim();
|
|
101
105
|
}
|
|
102
106
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-list.js","sourceRoot":"","sources":["../src/worktree-list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-list.js","sourceRoot":"","sources":["../src/worktree-list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,YAAqB;IAC5E,OAAO,0BAA0B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAE7C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1C,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,IAAI,aAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,uCAAuC;QACvC,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,KAAK,OAAO,CAAC,WAAW;YAAE,SAAS;QAElE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,SAAS;YAExC,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,IAAI,QAAQ,MAAM,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,MAAM;gBACN,MAAM;gBACN,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,YAAoB;IACjD,IAAI,CAAC;QACH,uEAAuE;QACvE,8DAA8D;QAC9D,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE;YACpF,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/worktree",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.79",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Native CLEO worktree backend SDK — createWorktree, destroyWorktree, listWorktrees, pruneWorktrees with XDG path canon and declarative hooks (T1161)",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"author": "CLEO Code <hello@cleocode.dev>",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@cleocode/contracts": "2026.5.
|
|
34
|
-
"@cleocode/paths": "2026.5.
|
|
33
|
+
"@cleocode/contracts": "2026.5.79",
|
|
34
|
+
"@cleocode/paths": "2026.5.79"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "^24.3.0",
|