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-20 11:56:07 +01:00
2026-03-09 11:19:57 -03:00
2026-03-03 13:35:49 -05:00
2026-03-20 11:56:07 +01:00
2026-03-17 11:37:03 -03:00
2026-03-20 09:10:57 -03:00
2026-03-18 08:21:52 -03:00
2026-03-16 20:33:36 -03:00
2026-02-25 18:34:18 +01:00
2026-03-07 19:30:32 -05:00
2026-03-30 16:39:33 +02:00
2026-04-07 11:01:24 -04:00
2025-11-08 16:31:39 -06:00
2026-02-13 16:01:33 +01:00
2026-02-03 17:51:26 -06:00
2025-11-06 13:03:12 -05:00
2026-03-20 18:08:11 +01:00
2026-02-01 10:50:41 -06:00
2026-04-02 12:25:44 +02:00
2026-03-20 12:18:26 +01:00
2026-03-16 19:37:22 -03:00
2026-01-08 17:32:21 -05:00
2026-03-20 09:10:57 -03:00
2026-03-27 17:19:30 +01:00
2026-03-09 11:19:57 -03:00
2026-04-07 19:05:15 +02:00
2026-03-23 18:33:21 +01:00
2026-03-20 11:56:07 +01:00
2026-03-16 20:33:36 -03:00
2026-02-12 12:10:21 -05:00
2025-09-09 23:44:04 -04:00
2025-12-11 19:20:23 +01:00
2026-01-07 13:28:13 -06:00
2026-03-17 11:37:03 -03:00
2026-01-18 23:33:23 -06:00