Fix find -i (case-insensitive search)

This commit is contained in:
Mikael Berthe 2018-06-24 19:20:59 +02:00
parent 7ddf91b65c
commit fbf8073dfc
2 changed files with 10 additions and 4 deletions

View file

@ -0,0 +1,6 @@
Bugfix: Fix case-insensitive search with restic find
We've fixed the behavior for `restic find -i PATTERN`, which was
broken in v0.9.1.
https://github.com/restic/restic/pull/1861

View file

@ -198,12 +198,12 @@ func (f *Finder) findInSnapshot(ctx context.Context, sn *restic.Snapshot) error
return false, nil
}
name := node.Name
normalizedNodepath := nodepath
if f.pat.ignoreCase {
name = strings.ToLower(name)
normalizedNodepath = strings.ToLower(nodepath)
}
foundMatch, err := filter.Match(f.pat.pattern, nodepath)
foundMatch, err := filter.Match(f.pat.pattern, normalizedNodepath)
if err != nil {
return false, err
}
@ -213,7 +213,7 @@ func (f *Finder) findInSnapshot(ctx context.Context, sn *restic.Snapshot) error
errIfNoMatch error
)
if node.Type == "dir" {
childMayMatch, err := filter.ChildMatch(f.pat.pattern, nodepath)
childMayMatch, err := filter.ChildMatch(f.pat.pattern, normalizedNodepath)
if err != nil {
return false, err
}