code: func fastWalkWithExcludeFiles(rootDir, excludeFilename string) *fastWalker {
  	excludePaths := []filepathfilter.Pattern{
  		filepathfilter.NewPattern(".git"),
  		filepathfilter.NewPattern("**/.git"),
  	}
  
  	limit, _ := strconv.Atoi(os.Getenv("LFS_FASTWALK_LIMIT"))
  	if limit < 1 {
  		limit = runtime.GOMAXPROCS(-1) * 20
  	}
  
  	c := int32(0)
  	w := &fastWalker{
  		rootDir:         rootDir,
  		excludeFilename: excludeFilename,
  		limit:           int32(limit),
  		cur:             &c,
  		ch:              make(chan fastWalkInfo, 256),
  		wg:              &sync.WaitGroup{},
  	}
  
  	go func() {
  		dirFi, err := os.Stat(w.rootDir)
  		if err != nil {
  			w.ch <- fastWalkInfo{Err: err}
  			return
  		}
  
  		w.Walk(true, "", dirFi, excludePaths)
  		w.Wait()
  	}()
  	return w
  }
docs: // fastWalkWithExcludeFiles walks the contents of a dir, respecting
  // include/exclude patterns and also loading new exlude patterns from files
  // named excludeFilename in directories walked
  //
  // rootDir - Absolute path to the top of the repository working directory