Andrew Hundt
ec70db30fb
feat(git): add reusable snapshot provider
...
Add a shared git snapshot provider for HEAD, dirty worktree hash, and tracked file count. The provider uses the existing portable command fallback, streams status output with O(1) buffer memory, keeps clean trees unambiguous, and supports non-git fallback without changing incremental defaults.
Migrate watcher polling to the provider with flags so baseline still avoids dirty-status work, normal polls check HEAD plus dirty state, and post-index refresh updates HEAD, dirty hash, and file count together.
Validation: git diff --check; bash scripts/check-source-safety.sh; make -j8 -f Makefile.cbm build/c/test-runner; CBM_ONLY_SUITE=watcher ./build/c/test-runner. Pipeline suite also passed after adding git_snapshot to the shared test runner link before the final dirty-hash clean-state tweak.
Signed-off-by: Andrew Hundt <ATHundt@gmail.com >
2026-07-01 05:32:54 -04:00
..
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-06-28 08:36:56 -04:00
2026-03-15 22:37:34 +01:00
2026-05-30 18:26:44 +02:00
2026-06-22 14:46:29 -07:00
2026-06-30 04:34:04 -04:00
2026-06-30 17:49:19 -04:00
2026-04-01 23:22:44 +02:00
2026-06-28 06:34:23 -04:00
2026-06-06 22:16:04 +02:00
2026-06-05 21:53:25 +02:00
2026-05-19 22:47:53 +02:00
2026-06-14 20:12:04 +00:00
2026-06-30 07:58:33 -04:00
2026-06-28 17:21:55 -04:00
2026-06-24 17:03:07 -04:00
2026-06-23 06:38:45 +09:00
2026-03-25 09:28:11 +01:00
2026-06-30 10:19:32 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-07 12:35:53 +02:00
2026-06-08 22:55:23 +02:00
2026-06-28 13:12:16 -04:00
2026-05-31 17:22:02 +02:00
2026-06-28 06:34:23 -04:00
2026-06-22 23:51:49 +02:00
2026-03-15 22:37:34 +01:00
2026-06-05 21:53:25 +02:00
2026-06-12 02:17:39 +02:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-12 02:17:39 +02:00
2026-06-30 18:29:49 -04:00
2026-06-30 00:38:07 -04:00
2026-05-21 22:52:16 +02:00
2026-03-31 20:04:11 +02:00
2026-06-12 02:17:25 +02:00
2026-06-30 16:57:26 -04:00
2026-06-30 00:38:07 -04:00
2026-07-01 04:04:08 -04:00
2026-06-28 17:09:51 -04:00
2026-06-28 06:34:23 -04:00
2026-06-02 18:52:37 +02:00
2026-06-02 18:52:37 +02:00
2026-06-03 01:33:25 +02:00
2026-06-28 06:34:23 -04:00
2026-06-12 02:17:39 +02:00
2026-06-06 22:30:38 +02:00
2026-06-28 06:34:23 -04:00
2026-03-15 22:37:34 +01:00
2026-06-30 04:41:36 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-07-01 04:11:25 -04:00
2026-06-05 21:53:25 +02:00
2026-06-28 06:34:23 -04:00
2026-06-30 21:24:07 -04:00
2026-06-30 19:10:29 -04:00
2026-06-06 22:30:38 +02:00
2026-05-29 04:20:20 +02:00
2026-05-09 16:05:45 +02:00
2026-07-01 04:57:39 -04:00
2026-06-30 18:02:44 -04:00
2026-06-05 21:53:25 +02:00
2026-05-09 15:44:09 +02:00
2026-05-09 14:16:15 +02:00
2026-05-31 03:14:17 +02:00
2026-06-22 22:04:06 +02:00
2026-06-30 06:05:15 -04:00
2026-06-03 02:13:30 +02:00
2026-05-08 22:26:56 +02:00
2026-06-24 03:15:36 +02:00
2026-06-28 17:44:04 -04:00
2026-06-30 00:38:07 -04:00
2026-06-30 11:00:27 -04:00
2026-06-30 11:00:27 -04:00
2026-06-24 17:30:04 -04:00
2026-06-30 06:45:07 -04:00
2026-04-11 09:22:23 -04:00
2026-05-29 03:37:56 +02:00
2026-03-24 23:48:23 +01:00
2026-07-01 00:44:23 -04:00
2026-05-29 03:37:56 +02:00
2026-06-30 21:24:07 -04:00
2026-03-24 23:48:23 +01:00
2026-03-25 09:47:59 +01:00
2026-06-28 09:40:25 -04:00
2026-06-30 08:38:11 -04:00
2026-03-24 23:48:23 +01:00
2026-06-12 10:51:11 +02:00
2026-06-10 12:11:02 +02:00
2026-04-01 23:22:44 +02:00
2026-04-09 23:15:10 -04:00
2026-06-05 21:53:25 +02:00
2026-07-01 05:32:54 -04:00
2026-06-30 19:00:54 -04:00
2026-04-10 20:09:37 -04:00
2026-04-15 23:56:03 +02:00