From ca79cec49c1d59de7fcd0b09ff7e7c1ac5106de9 Mon Sep 17 00:00:00 2001 From: BLACKBOX Agent Date: Thu, 6 Nov 2025 16:31:34 +0000 Subject: [PATCH] fix(pr): resolve unexpected behavior in create-pull-request #4196 --- dist/index.js | 8 ++++++-- src/git-command-manager.ts | 34 ++++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/dist/index.js b/dist/index.js index 75ae3c2f07..729eb1f50e 100644 --- a/dist/index.js +++ b/dist/index.js @@ -797,7 +797,9 @@ class GitCommandManager { signed: detailLines[3] !== 'N', subject: detailLines[4], body: detailLines.slice(5, endOfBodyIndex).join('\n'), - changes: lines.slice(endOfBodyIndex + 2, -1).map(line => { + changes: lines + .slice(endOfBodyIndex + 2, -1) + .map(line => { const change = line.match(/^:(\d{6}) (\d{6}) \w{40} (\w{40}) ([AMD])\s+(.*)$/); if (change) { return { @@ -809,8 +811,10 @@ class GitCommandManager { } else { unparsedChanges.push(line); + return undefined; } - }), + }) + .filter((change) => change !== undefined), unparsedChanges: unparsedChanges }; }); diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts index 6270f19392..54e667378b 100644 --- a/src/git-command-manager.ts +++ b/src/git-command-manager.ts @@ -189,21 +189,27 @@ export class GitCommandManager { signed: detailLines[3] !== 'N', subject: detailLines[4], body: detailLines.slice(5, endOfBodyIndex).join('\n'), - changes: lines.slice(endOfBodyIndex + 2, -1).map(line => { - const change = line.match( - /^:(\d{6}) (\d{6}) \w{40} (\w{40}) ([AMD])\s+(.*)$/ - ) - if (change) { - return { - mode: change[4] === 'D' ? change[1] : change[2], - dstSha: change[3], - status: change[4], - path: change[5] + changes: lines + .slice(endOfBodyIndex + 2, -1) + .map(line => { + const change = line.match( + /^:(\d{6}) (\d{6}) \w{40} (\w{40}) ([AMD])\s+(.*)$/ + ) + if (change) { + return { + mode: change[4] === 'D' ? change[1] : change[2], + dstSha: change[3], + status: change[4], + path: change[5] + } + } else { + unparsedChanges.push(line) + return undefined } - } else { - unparsedChanges.push(line) - } - }), + }) + .filter( + (change): change is NonNullable => change !== undefined + ), unparsedChanges: unparsedChanges } }