fix: replace isomorphic-git status with direct git diff for worktree support (#1706)

Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
This commit is contained in:
Netanel Draiman
2025-08-29 02:15:26 +03:00
committed by GitHub
parent 6daf0fdb2b
commit 7fab12da28

View File

@@ -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,