(root: string, sha: string, name: string)
| 120 | }; |
| 121 | |
| 122 | const pack = async (root: string, sha: string, name: string) => { |
| 123 | const proc = Bun.spawnSync({ |
| 124 | cmd: ["git", "pack-objects", "--stdout", "--revs"], |
| 125 | cwd: root, |
| 126 | stdin: new TextEncoder().encode(`${sha}\n`), |
| 127 | }); |
| 128 | if (!proc.success) throw new Error(`git pack-objects failed: ${proc.stderr.toString()}`); |
| 129 | await writeFile(join(fixtureDir, name), proc.stdout); |
| 130 | }; |
| 131 | |
| 132 | const root = await mkdtemp(join(tmpdir(), "custom-tools-git-")); |
| 133 | try { |