Merge pull request #3556 from Tibsfox/fix/worktree-main-branch-pref
fix(gsd): use main_branch preference in worktree creation
This commit is contained in:
commit
3e7dcdb3a5
2 changed files with 30 additions and 2 deletions
|
|
@ -1057,12 +1057,20 @@ export function createAutoWorktree(
|
|||
reuseExistingBranch: true,
|
||||
});
|
||||
} else {
|
||||
// Fresh start — create branch from integration branch
|
||||
// Fresh start — create branch from integration branch.
|
||||
// Use the same 3-tier fallback as mergeMilestoneToMain (#3461):
|
||||
// 1. META.json integration branch (explicit per-milestone override)
|
||||
// 2. git.main_branch preference (user's configured working branch)
|
||||
// 3. nativeDetectMainBranch (origin/HEAD auto-detection)
|
||||
// Without tier 2, projects with main_branch=dev but origin/HEAD→master
|
||||
// would fork worktrees from the wrong (stale) branch.
|
||||
const integrationBranch =
|
||||
readIntegrationBranch(basePath, milestoneId) ?? undefined;
|
||||
const gitPrefs = loadEffectiveGSDPreferences()?.preferences?.git;
|
||||
const startPoint = integrationBranch ?? gitPrefs?.main_branch ?? undefined;
|
||||
info = createWorktree(basePath, milestoneId, {
|
||||
branch,
|
||||
startPoint: integrationBranch,
|
||||
startPoint,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
/**
|
||||
* Regression test for #3461: createAutoWorktree must use git.main_branch
|
||||
* preference when META.json integration branch is absent.
|
||||
*/
|
||||
import { test } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { join } from "node:path";
|
||||
|
||||
test("auto-worktree.ts includes main_branch preference in startPoint fallback (#3461)", () => {
|
||||
const src = readFileSync(
|
||||
join(import.meta.dirname, "..", "auto-worktree.ts"),
|
||||
"utf-8",
|
||||
);
|
||||
// The fix adds gitPrefs?.main_branch to the startPoint fallback chain
|
||||
assert.ok(
|
||||
src.includes("gitPrefs?.main_branch") || src.includes("prefs.main_branch"),
|
||||
"createAutoWorktree must check git.main_branch preference before falling back to nativeDetectMainBranch",
|
||||
);
|
||||
});
|
||||
Loading…
Add table
Reference in a new issue