Release ForgeFlow 0.5.2

This commit is contained in:
NuklearRabbit
2026-07-25 01:07:54 +02:00
parent 602309b203
commit cf1f67a823
23 changed files with 550 additions and 72 deletions
+26
View File
@@ -152,3 +152,29 @@ test('keeps a successful local commit visible as ahead when the following push f
const subject = await git(['log', '-1', '--pretty=%s'], working);
assert.equal(subject.stdout.trim(), 'Update portfolio');
});
test('stages a large Windows-sized partial selection through NUL-delimited stdin', async (t) => {
const root = await fs.mkdtemp(path.join(os.tmpdir(), 'forgeflow-git-large-selection-'));
t.after(() => fs.rm(root, { recursive: true, force: true }));
const working = path.join(root, 'working');
await fs.mkdir(working);
await git(['init'], working);
await git(['config', 'user.name', 'ForgeFlow Test'], working);
await git(['config', 'user.email', 'forgeflow@example.invalid'], working);
await fs.writeFile(path.join(working, 'README.md'), '# Large selection\n');
await git(['add', '.'], working);
await git(['commit', '-m', 'Initial'], working);
const names = [];
for (let index = 0; index < 850; index += 1) {
const name = `generated/feature-${String(index).padStart(4, '0')}-${'x'.repeat(28)}.txt`;
names.push(name);
await fs.mkdir(path.dirname(path.join(working, name)), { recursive: true });
await fs.writeFile(path.join(working, name), `file ${index}\n`);
}
const service = new GitService();
const status = await service.stage(working, names);
assert.equal(status.counts.staged, names.length);
assert.equal(status.counts.unstaged, 0);
});