Diffusion Baloo 97aa68252c4a

Handle folders matching substrings of included/excluded folders correctly

Authored by bruns on Feb 7 2019, 11:15 PM.

Description

Handle folders matching substrings of included/excluded folders correctly

Summary:
FileIndexerConfig::shouldFolderBeIndexe(...) calls folderInList to
determine if the config should be included or excluded.

For a config:
[0] include: <HOME>/foo
[1] exclude: <HOME>/foo/bar

the folder "<HOME>/foo/barbaz" would be erroneously excluded, as
folders[1].startsWith(folder) is true, i.e. the exclude entry would be
used, although folders[0] is the correct match (folders are matched back
to front).

This can be avoided by normalizing the config entries to always end
with a trailing slash.

For the config itself this had been handled explicitly, but is no longer
needed.

Depends on D18829

Reviewers: Baloo, Frameworks, poboiko, ngraham

Reviewed By: Baloo, ngraham

Subscribers: kde-frameworks-devel

Tags: Frameworks, Baloo

Differential Revision: https://phabricator.kde.org/D18830