diff --git a/script/upstream/merge.ts b/script/upstream/merge.ts index db3245c1c1d..e4ac18f7441 100644 --- a/script/upstream/merge.ts +++ b/script/upstream/merge.ts @@ -536,7 +536,7 @@ async function main() { const compatMessage = `refactor: kilo compat for ${targetVersion.tag}` if (prior) { const tree = await git.writeTree() - const commit = await git.createMergeCommit(tree, compatMessage, targetVersion.commit, prior.commit) + const commit = await git.createCommit(tree, compatMessage, prior.commit) await git.updateBranch(opencodeBranch, commit) await git.checkout(opencodeBranch) } else { diff --git a/script/upstream/utils/git.test.ts b/script/upstream/utils/git.test.ts index 5636241a2f7..999510bb42b 100644 --- a/script/upstream/utils/git.test.ts +++ b/script/upstream/utils/git.test.ts @@ -3,7 +3,7 @@ import { mkdtemp, rm } from "node:fs/promises" import { join } from "node:path" import { tmpdir } from "node:os" import { $ } from "bun" -import { createMergeCommit, findLatestCompatCommit, getCommitHash, updateBranch, writeTree } from "./git" +import { createCommit, findLatestCompatCommit, getCommitHash, getCommitParents, updateBranch, writeTree } from "./git" const cwd = process.cwd() let dir = "" @@ -27,7 +27,7 @@ afterEach(async () => { await rm(dir, { recursive: true, force: true }) }) -test("finds previous compatibility commit for transformed merge base", async () => { +test("finds previous compatibility commit for transformed base", async () => { await Bun.write("brand.txt", "opencode A\n") const old = await commit("release: v1.0.0") @@ -47,9 +47,10 @@ test("finds previous compatibility commit for transformed merge base", async () await Bun.write("brand.txt", "kilo B\n") await $`git add -A`.quiet() const tree = await writeTree() - const next = await createMergeCommit(tree, "refactor: kilo compat for v1.0.1", target, prior) + const next = await createCommit(tree, "refactor: kilo compat for v1.0.1", prior) await updateBranch("opencode-v1.0.1", next) const base = (await $`git merge-base main opencode-v1.0.1`.text()).trim() expect(base).toBe(prior) + expect(await getCommitParents(next)).toEqual([prior]) }) diff --git a/script/upstream/utils/git.ts b/script/upstream/utils/git.ts index 4e9ccea8197..b25212de02a 100644 --- a/script/upstream/utils/git.ts +++ b/script/upstream/utils/git.ts @@ -196,8 +196,8 @@ export async function writeTree(): Promise { return result.trim() } -export async function createMergeCommit(tree: string, message: string, first: string, second: string): Promise { - const result = await $`git commit-tree ${tree} -p ${first} -p ${second} -m ${message}`.text() +export async function createCommit(tree: string, message: string, parent: string): Promise { + const result = await $`git commit-tree ${tree} -p ${parent} -m ${message}`.text() return result.trim() }