Johnny Amancio
afe950dc0c
perf(snapshot): add mutex lock, incremental add, and batched revert
Port snapshot optimizations from upstream OpenCode to reduce git process
spawning and prevent concurrent corruption:
- Per-gitdir mutex lock (upstream #17878, v1.3.0): serializes concurrent
snapshot operations to prevent race conditions
- Incremental git add (upstream #17878, v1.3.0): replaces naive `git add .`
with diff-files + ls-files + size filtering, skipping files >2MB
- Batched revert (upstream #20564, v1.3.14): groups up to 100 files per
git checkout call with path-conflict detection, falling back to
single-file revert on failure
Benchmarks (200 files):
- revert: 2,851ms → 191ms (15x faster, 8x fewer git processes)
- concurrent track: 2/5 succeed → 5/5 succeed (corruption fixed)
2026-04-07 19:05:15 +02:00
..
2026-03-27 17:19:31 +01:00
2026-04-06 10:18:54 -04:00
2026-03-09 13:02:22 +01:00
2026-02-24 23:04:15 -05:00
2026-04-02 07:39:54 -03:00
2026-03-26 13:59:04 +01:00
2026-03-30 21:30:40 +02:00
2026-03-20 09:10:57 -03:00
2026-04-06 16:24:13 +02:00
2026-03-26 14:54:27 +01:00
2026-03-16 20:33:36 -03:00
2026-02-27 15:36:39 -05:00
2026-03-09 11:19:57 -03:00
2026-03-31 11:13:29 +02:00
2026-04-07 11:01:24 -04:00
2026-03-17 22:29:16 +02:00
2026-04-07 11:59:31 +02:00
2026-03-25 11:52:42 +02:00
2026-03-20 11:56:07 +01:00
2026-04-02 12:25:44 +02:00
2026-04-07 11:44:12 +02:00
2026-03-17 11:37:03 -03:00
2026-04-07 10:38:14 +02:00
2026-04-02 12:21:43 +02:00
2026-03-20 11:56:07 +01:00
2026-03-17 07:46:46 -03:00
2026-03-27 09:53:51 +02:00
2026-04-07 19:05:15 +02:00
2026-03-25 12:11:21 +01:00
2026-04-06 12:15:00 -04:00
2026-04-02 11:54:49 +02:00
2026-03-16 20:33:36 -03:00
2026-03-24 13:54:30 +01:00
2026-03-25 14:51:41 +02:00