in experimental/fs_storage.go [22:53]
func (f *fsStorage) Walk(rootDir string, baseDir string, fn walkFunc) error {
rootDir, err := filepath.Abs(f.fullPath(rootDir))
if err != nil {
return nil
}
rootDir += "/"
baseDir, err = filepath.Abs(f.fullPath(baseDir))
if err != nil {
return nil
}
baseDir += "/"
return filepath.Walk(rootDir, func(fullPath string, info os.FileInfo, err error) error {
if info.IsDir() {
return nil
}
path := fullPath
if strings.HasPrefix(path, baseDir) {
path = path[len(baseDir):]
}
if path == "" {
return nil
}
fi := fileInfo{fullPath: fullPath, size: info.Size()}
return fn(path, fi, err)
})
}