fix(pr): resolve unexpected behavior in create-pull-request #4196

This commit is contained in:
BLACKBOX Agent 2025-11-06 16:31:34 +00:00
parent 0edc001d28
commit ca79cec49c
2 changed files with 26 additions and 16 deletions

8
dist/index.js vendored
View File

@ -797,7 +797,9 @@ class GitCommandManager {
signed: detailLines[3] !== 'N', signed: detailLines[3] !== 'N',
subject: detailLines[4], subject: detailLines[4],
body: detailLines.slice(5, endOfBodyIndex).join('\n'), 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+(.*)$/); const change = line.match(/^:(\d{6}) (\d{6}) \w{40} (\w{40}) ([AMD])\s+(.*)$/);
if (change) { if (change) {
return { return {
@ -809,8 +811,10 @@ class GitCommandManager {
} }
else { else {
unparsedChanges.push(line); unparsedChanges.push(line);
return undefined;
} }
}), })
.filter((change) => change !== undefined),
unparsedChanges: unparsedChanges unparsedChanges: unparsedChanges
}; };
}); });

View File

@ -189,21 +189,27 @@ export class GitCommandManager {
signed: detailLines[3] !== 'N', signed: detailLines[3] !== 'N',
subject: detailLines[4], subject: detailLines[4],
body: detailLines.slice(5, endOfBodyIndex).join('\n'), body: detailLines.slice(5, endOfBodyIndex).join('\n'),
changes: lines.slice(endOfBodyIndex + 2, -1).map(line => { changes: lines
const change = line.match( .slice(endOfBodyIndex + 2, -1)
/^:(\d{6}) (\d{6}) \w{40} (\w{40}) ([AMD])\s+(.*)$/ .map(line => {
) const change = line.match(
if (change) { /^:(\d{6}) (\d{6}) \w{40} (\w{40}) ([AMD])\s+(.*)$/
return { )
mode: change[4] === 'D' ? change[1] : change[2], if (change) {
dstSha: change[3], return {
status: change[4], mode: change[4] === 'D' ? change[1] : change[2],
path: change[5] dstSha: change[3],
status: change[4],
path: change[5]
}
} else {
unparsedChanges.push(line)
return undefined
} }
} else { })
unparsedChanges.push(line) .filter(
} (change): change is NonNullable<typeof change> => change !== undefined
}), ),
unparsedChanges: unparsedChanges unparsedChanges: unparsedChanges
} }
} }