v1.8.0
Добавлено
- Git-ускоренное инкрементальное обновление —
index updateавтоматически используетgit diffвместо полного обхода FS (rglob + stat), если каталог исходников внутри git-репозитория. E2E замеры: BSL-only update БГУ (14K модулей) — 17 сек, CRM (3K) — 5 сек vs ~5 мин полный скан. Прозрачный fallback на полный скан если git недоступен - Селективный refresh метаданных по категориям — при git fast path пересобираются только таблицы метаданных затронутых категорий (EventSubscriptions, Catalogs, Roles и др.), а не все 10+ таблиц целиком
- Dirty-снимок — при каждом update сохраняется список dirty-файлов (staged/unstaged/untracked). При следующем update они принудительно включаются в дельту — переход dirty→clean не оставляет stale-данных
- Best-effort для staged/unstaged/untracked diff — таймаут этих команд не прерывает git fast path (критичен для Docker Desktop / Virtiofs). Пропущенные файлы подхватываются через dirty-снимок
- Prefix-трансформация путей — корректная работа когда
base_path≠ git root (EDT:repo/src/, CF:repo/src/cf/) git_fast_pathв ответеupdate()—true/false, позволяет отличить способ обновленияgit_accelerated+git_head_commitвindex info/get_statistics()— информация о git-ускорении- CLI
index info— строкаGit: да (коммит: abc12345)/нет (.git недоступен, был: ...)/нет - Инкрементальный
file_paths— при git fast path без meta-измененийfile_pathsобновляется только для затронутых BSL-файлов - Docker: git в образе —
python:3.12-slimдополнен установкойgitдля поддержки git fast path в контейнере - 44 новых теста git-утилит, fast path, fallback, dirty snapshot, selective metadata
Полный список изменений: CHANGELOG.md