package main import ( "fmt" "os" "path/filepath" "strings" "github.com/logrusorgru/aurora" ) const ( largeFileLimit = 1 << 20 // 1MiB ) func checkLargeFiles() error { return filepath.Walk(".", checkLargeFilesW) } func checkLargeFilesW(path string, info os.FileInfo, err error) error { switch { case err != nil: return err case info.Size() > largeFileLimit: return fmt.Errorf("committing large file: %s (%d bytes)", aurora.Red(path), info.Size()) case info.IsDir() && strings.HasPrefix(info.Name(), "."): return filepath.SkipDir default: return nil } }