From 8859215a3755dee2c8d245c91c1fcfcad69609fc Mon Sep 17 00:00:00 2001 From: MrLYC Date: Fri, 30 Jan 2026 00:34:25 +0800 Subject: [PATCH] fix: improve git diff --no-index error handling Check exitCode === 1 instead of message content, as git diff --no-index returns exit code 1 when differences exist (which is expected behavior, not an error). Amp-Thread-ID: https://ampcode.com/threads/T-019c0a9a-b26b-7719-9718-04185371eb9c Co-authored-by: Amp --- packages/web/server/lib/git-service.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/web/server/lib/git-service.js b/packages/web/server/lib/git-service.js index b1a8d70f..dfbf1678 100644 --- a/packages/web/server/lib/git-service.js +++ b/packages/web/server/lib/git-service.js @@ -428,7 +428,8 @@ export async function getDiff(directory, { path, staged = false, contextLines = const noIndexDiff = await git.raw(noIndexArgs); return noIndexDiff; } catch (noIndexError) { - if (noIndexError.message && noIndexError.message.includes('diff --git')) { + // git diff --no-index returns exit code 1 when differences exist (not a real error) + if (noIndexError.exitCode === 1 && noIndexError.message) { return noIndexError.message; } throw noIndexError;