Описание
Заменить git worktree add на git clone для изоляции сессий на сервере. Каждая cloud-сессия должна получать полный клон репозитория.
Контекст
Из архитектурного решения D4 (обновлено): cloud = 1 session = 1 git clone = 1 container. Причины:
- Worktree не полная копия — можно потерять данные
- Lock-файлы между worktree могут конфликтовать
- Отдельные клоны проще в управлении — полная изоляция
Изменения
Модуль: runner/src/project_manager.rs, runner/src/cloud_session_manager.rs
ProjectManager.add_worktree() → заменить на git clone для сессий
- Клон из bare repo проекта (или из project.local_path)
- Checkout нужной ветки в клоне
- При удалении сессии — удалять клон
ProjectManager.remove_worktree() → удаление директории клона
Dependencies
Acceptance Criteria
Описание
Заменить
git worktree addнаgit cloneдля изоляции сессий на сервере. Каждая cloud-сессия должна получать полный клон репозитория.Контекст
Из архитектурного решения D4 (обновлено): cloud = 1 session = 1 git clone = 1 container. Причины:
Изменения
Модуль:
runner/src/project_manager.rs,runner/src/cloud_session_manager.rsProjectManager.add_worktree()→ заменить наgit cloneдля сессийProjectManager.remove_worktree()→ удаление директории клонаDependencies
Acceptance Criteria
cargo testпроходитcargo clippy -- -D warningsчисто