heyio 3.1.16 → 3.1.17
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/squad/execution/worktree.d.ts +1 -0
- package/dist/squad/execution/worktree.d.ts.map +1 -1
- package/dist/squad/execution/worktree.js +55 -2
- package/dist/squad/execution/worktree.js.map +1 -1
- package/node_modules/@io/shared/package.json +1 -1
- package/package.json +1 -1
- package/public/assets/{index-BtGuO--O.js → index-B580vjXl.js} +2 -2
- package/public/assets/{index-BtGuO--O.js.map → index-B580vjXl.js.map} +1 -1
- package/public/index.html +1 -1
|
@@ -5,6 +5,7 @@ export interface WorktreeInfo {
|
|
|
5
5
|
/**
|
|
6
6
|
* Create a git worktree for an instance.
|
|
7
7
|
* Branch naming: io/{squad-name}/{short-id}
|
|
8
|
+
* Always fetches latest from remote before creating the worktree.
|
|
8
9
|
*/
|
|
9
10
|
export declare function createWorktree(params: {
|
|
10
11
|
repoPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../../src/squad/execution/worktree.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../../src/squad/execution/worktree.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,YAAY,CA4Cf;AAoDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAkCP;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA6B9D"}
|
|
@@ -6,6 +6,7 @@ const logger = () => createChildLogger('worktree');
|
|
|
6
6
|
/**
|
|
7
7
|
* Create a git worktree for an instance.
|
|
8
8
|
* Branch naming: io/{squad-name}/{short-id}
|
|
9
|
+
* Always fetches latest from remote before creating the worktree.
|
|
9
10
|
*/
|
|
10
11
|
export function createWorktree(params) {
|
|
11
12
|
const log = logger();
|
|
@@ -16,9 +17,12 @@ export function createWorktree(params) {
|
|
|
16
17
|
if (!existsSync(join(params.repoPath, '.git'))) {
|
|
17
18
|
throw new Error(`Not a git repository: ${params.repoPath}`);
|
|
18
19
|
}
|
|
19
|
-
//
|
|
20
|
+
// Fetch latest from remote to ensure we branch from up-to-date code
|
|
21
|
+
const startPoint = fetchLatestMainRef(params.repoPath);
|
|
22
|
+
log.info({ startPoint }, 'Fetched latest remote ref for worktree');
|
|
23
|
+
// Create the worktree with a new branch from the latest remote HEAD
|
|
20
24
|
try {
|
|
21
|
-
execSync(`git worktree add -b "${branch}" "${worktreePath}"`, {
|
|
25
|
+
execSync(`git worktree add -b "${branch}" "${worktreePath}" "${startPoint}"`, {
|
|
22
26
|
cwd: params.repoPath,
|
|
23
27
|
stdio: 'pipe',
|
|
24
28
|
encoding: 'utf-8',
|
|
@@ -40,6 +44,55 @@ export function createWorktree(params) {
|
|
|
40
44
|
log.info({ worktreePath, branch }, 'Worktree created');
|
|
41
45
|
return { path: worktreePath, branch };
|
|
42
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Fetch the latest from the remote and return the ref to branch from.
|
|
49
|
+
* Detects the default branch (main/master) from the remote HEAD.
|
|
50
|
+
*/
|
|
51
|
+
function fetchLatestMainRef(repoPath) {
|
|
52
|
+
try {
|
|
53
|
+
// Fetch all remote updates
|
|
54
|
+
execSync('git fetch origin', {
|
|
55
|
+
cwd: repoPath,
|
|
56
|
+
stdio: 'pipe',
|
|
57
|
+
encoding: 'utf-8',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// Fetch failed (offline, no remote, etc.) — fall back to local HEAD
|
|
62
|
+
return 'HEAD';
|
|
63
|
+
}
|
|
64
|
+
// Determine the default branch from the remote
|
|
65
|
+
try {
|
|
66
|
+
const remoteHead = execSync('git symbolic-ref refs/remotes/origin/HEAD', {
|
|
67
|
+
cwd: repoPath,
|
|
68
|
+
stdio: 'pipe',
|
|
69
|
+
encoding: 'utf-8',
|
|
70
|
+
}).trim();
|
|
71
|
+
// Returns something like "refs/remotes/origin/main"
|
|
72
|
+
if (remoteHead) {
|
|
73
|
+
return remoteHead;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// symbolic-ref not set — try common branch names
|
|
78
|
+
}
|
|
79
|
+
// Fallback: try origin/main, then origin/master
|
|
80
|
+
for (const candidate of ['origin/main', 'origin/master']) {
|
|
81
|
+
try {
|
|
82
|
+
execSync(`git rev-parse --verify ${candidate}`, {
|
|
83
|
+
cwd: repoPath,
|
|
84
|
+
stdio: 'pipe',
|
|
85
|
+
encoding: 'utf-8',
|
|
86
|
+
});
|
|
87
|
+
return candidate;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Last resort: local HEAD
|
|
94
|
+
return 'HEAD';
|
|
95
|
+
}
|
|
43
96
|
/**
|
|
44
97
|
* Remove a git worktree and delete its branch.
|
|
45
98
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/squad/execution/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAOnD
|
|
1
|
+
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/squad/execution/worktree.ts"],"names":[],"mappings":"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"}
|