2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-23 13:17:42 +00:00

ls: Only skip directory nodes

Special case for Walk(): When SkipDir is returned for a non-dir node,
the remaining nodes for the current tree are skipped. We don't want
that.
This commit is contained in:
Alexander Neumann 2018-08-12 22:02:59 +02:00
parent 7f617cfd7f
commit ace5cc4ed3

View File

@ -125,9 +125,17 @@ func runLs(opts LsOptions, gopts GlobalOptions, args []string) error {
} }
} }
if !walk { if !walk {
if node.Type == "dir" {
// signal Walk() that it should not descend into the tree.
return false, walker.SkipNode return false, walker.SkipNode
} }
// we must not return SkipNode for non-dir nodes because
// then the remaining nodes in the same tree would be
// skipped, so return nil instead
return false, nil
}
// this second iteration ensures that we get an exact match // this second iteration ensures that we get an exact match
// according to the filter and whether we should match subfolders // according to the filter and whether we should match subfolders
var match bool var match bool