From 7fab12da282ad6b4657ed7c9de46c2ac5125ae50 Mon Sep 17 00:00:00 2001 From: Netanel Draiman <12609607+ndraiman@users.noreply.github.com> Date: Fri, 29 Aug 2025 02:15:26 +0300 Subject: [PATCH] fix: replace isomorphic-git status with direct git diff for worktree support (#1706) Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> --- packages/opencode/src/file/index.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/packages/opencode/src/file/index.ts b/packages/opencode/src/file/index.ts index 40e0c2cf..ea3f2d21 100644 --- a/packages/opencode/src/file/index.ts +++ b/packages/opencode/src/file/index.ts @@ -3,7 +3,6 @@ import { Bus } from "../bus" import { $ } from "bun" import { createPatch } from "diff" import path from "path" -import * as git from "isomorphic-git" import { App } from "../app/app" import fs from "fs" import ignore from "ignore" @@ -118,12 +117,8 @@ export namespace File { .then((x) => x.trim()) if (app.git) { const rel = path.relative(app.path.root, full) - const diff = await git.status({ - fs, - dir: app.path.root, - filepath: rel, - }) - if (diff !== "unmodified") { + const diff = await $`git diff ${rel}`.cwd(app.path.root).quiet().nothrow().text() + if (diff.trim()) { const original = await $`git show HEAD:${rel}`.cwd(app.path.root).quiet().nothrow().text() const patch = createPatch(file, original, content, "old", "new", { context: Infinity,