Files
memind/scripts/git-porcelain-paths.mjs
T
john b1577a16e9
Memind CI / Test, build, and release guards (push) Failing after 12m3s
fix: harden release gate and page delivery
2026-07-26 14:32:01 +08:00

18 lines
536 B
JavaScript

export function parseGitStatusPorcelainZ(output) {
const entries = String(output ?? '').split('\0');
const paths = [];
for (let index = 0; index < entries.length; index += 1) {
const entry = entries[index];
if (!entry) continue;
if (entry.length < 4 || entry[2] !== ' ') {
throw new Error(`Invalid git status --porcelain=v1 -z entry: ${entry.slice(0, 20)}`);
}
const status = entry.slice(0, 2);
paths.push(entry.slice(3));
if (/[RC]/.test(status)) {
index += 1;
}
}
return paths;
}