func BuildRemoteFileList(walker *fs.Walker, basepath string) map[string]file { output := make(map[string]file) i := 0 for walker.Step() { if err := walker.Err(); err != nil { log.Warn("walker error", "err", err) continue } fmt.Print(".") i++ if i >= 80 { i = 0 fmt.Println() } rel, err := filepath.Rel(basepath, walker.Path()) if err != nil { log.Warn("could not resolve relative path", "path", walker.Path()) continue } if rel == "." { continue } stat := walker.Stat() file := file{ mode: stat.Mode(), size: stat.Size(), mod: stat.ModTime(), path: walker.Path(), relPath: rel, } output[file.relPath] = file } if i > 0 { fmt.Println() } return output }