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 <amp@ampcode.com>
This commit is contained in:
MrLYC
2026-01-30 00:34:44 +08:00
co-authored by Amp
parent f1fdaaf74c
commit 8859215a37
+2 -1
View File
@@ -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;