fix: создавать каталог worktree в prepareRepos (decider: не могу сменить папку на ./worktrees)
All checks were successful
CI / test (push) Successful in 44s
CI / build-and-package (amd64, linux) (push) Successful in 43s
CI / build-and-package (amd64, windows) (push) Successful in 42s

This commit is contained in:
Hermes
2026-08-16 22:04:16 +05:00
parent f0794300b5
commit e055d1937c
2 changed files with 30 additions and 0 deletions

View File

@@ -338,6 +338,11 @@ func (w *Worker) finalizeTrace(ctx context.Context, traceID int64, status storag
// prepareRepos гарантирует наличие всех репозиториев в общем каталоге:
// папка есть → используем как есть; нет → git clone.
func (w *Worker) prepareRepos(ctx context.Context, repos []string) error {
// Общий каталог worktree может отсутствовать на свежей машине: git clone не
// создаёт родительский каталог, а decider стартует с cwd=Worktree. Создаём заранее.
if err := os.MkdirAll(w.Worktree, 0o755); err != nil {
return fmt.Errorf("%w: создать каталог worktree %s: %v", ErrClone, w.Worktree, err)
}
for _, r := range repos {
dst := filepath.Join(w.Worktree, r)
if _, err := os.Stat(dst); err == nil {