1package backend
2
3import (
4 "fmt"
5 "os"
6 "path/filepath"
7)
8
9func createDotCrushDir(dir string) error {
10 if err := os.MkdirAll(dir, 0o700); err != nil {
11 return fmt.Errorf("failed to create data directory: %q %w", dir, err)
12 }
13
14 gitIgnorePath := filepath.Join(dir, ".gitignore")
15 if _, err := os.Stat(gitIgnorePath); os.IsNotExist(err) {
16 if err := os.WriteFile(gitIgnorePath, []byte("*\n"), 0o644); err != nil {
17 return fmt.Errorf("failed to create .gitignore file: %q %w", gitIgnorePath, err)
18 }
19 }
20
21 return nil
22}