Steps to reproduce: 1. Create folders '~/test1', '~/test2' and '~/test1-test' 2. Run 'balooctl config add excludeFolders ~/test1' 3. Run 'balooctl config add excludeFolders ~/test2' 4. Run 'balooctl config add excludeFolders ~/test1-test' Observed results: Commands in step 2 and 3 succeed, but command in step 4 fails with output 'Parent folder /home/user/test1 is already in the list of exclude folders' Expected results: All three commands should be able to add the respective folders to the list of excluded folders. Baloo seems to detect folders with hyphens in name as subfolders. This should not happen. Quoting the filename and giving the full path does not seem to affect this behaviour. However, adding via the graphical settings (System settings > search > file search) works for such folders. Sorry for the title, but I couldn't think of a proper way to describe this in that space in a more specific way.
It looks like the issue isn't related to the hyphen, but rather that '~/test1-test' doesn't get past the "path.startsWith(folder)" check when folder is '~/test1' - proposed patch momentarily
Created attachment 114556 [details] Fixes issue by appending path separator to parent dir check
Thanks James for the patch! Could you please add it to https://phabricator.kde.org/differential/diff/create/ so that developers can review it? We have more information about Phabricator at https://community.kde.org/Infrastructure/Phabricator
No response from James; I have submitted the patch at https://phabricator.kde.org/D15583
Git commit 2452ce28193a7cf4843a8f617f3fe29c6643fd96 by Nathaniel Graham. Committed on 30/09/2018 at 01:17. Pushed by ngraham into branch 'master'. [Balooctl] remove directory parent check Summary: `balooctl add includeFolders/excludeFolders` was checking for parent directories before allowing the user to add a subdirectory. This is unnecessary since Baloo itself supports the logic of (for example) excluding `~/foo` but including `~/foo/bar`. Removing the check solves the problem and fixes 396535. FIXED-IN: 5.51 Test Plan: ``` mkdir ~/test1 ~/test2 ~/test1-test ~/test1-test/foo balooctl config add excludeFolders ~/test1 balooctl config add excludeFolders ~/test2 balooctl config add excludeFolders ~/test1-test balooctl config add includeFolders ~/test1-test/foo ``` If it worked, you don't get any errors. Reviewers: #baloo, #dolphin, bruns, #frameworks, cfeck Reviewed By: #baloo, bruns Subscribers: smithjd, anthonyfieroni, kde-frameworks-devel Tags: #frameworks, #baloo Differential Revision: https://phabricator.kde.org/D15583 M +0 -14 src/tools/balooctl/configcommand.cpp https://commits.kde.org/baloo/2452ce28193a7cf4843a8f617f3fe29c6643fd96