Release ForgeFlow 0.5.2
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user