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 { $ } from "bun"
import { createPatch } from "diff" import { createPatch } from "diff"
import path from "path" import path from "path"
import * as git from "isomorphic-git"
import { App } from "../app/app" import { App } from "../app/app"
import fs from "fs" import fs from "fs"
import ignore from "ignore" import ignore from "ignore"
@@ -118,12 +117,8 @@ export namespace File {
.then((x) => x.trim()) .then((x) => x.trim())
if (app.git) { if (app.git) {
const rel = path.relative(app.path.root, full) const rel = path.relative(app.path.root, full)
const diff = await git.status({ const diff = await $`git diff ${rel}`.cwd(app.path.root).quiet().nothrow().text()
fs, if (diff.trim()) {
dir: app.path.root,
filepath: rel,
})
if (diff !== "unmodified") {
const original = await $`git show HEAD:${rel}`.cwd(app.path.root).quiet().nothrow().text() const original = await $`git show HEAD:${rel}`.cwd(app.path.root).quiet().nothrow().text()
const patch = createPatch(file, original, content, "old", "new", { const patch = createPatch(file, original, content, "old", "new", {
context: Infinity, context: Infinity,