util.go 519 B

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