find/replace file filter should not filter above the project root dir?

René J.V. Bertin rjvbertin at
Fri May 13 14:28:22 UTC 2016


I've long tried to understand why the "find/replace in files" function would claim that no files matched the pattern when the source directory was in a system-wide build directory I use. Closing the project, moving the source directory to somewhere under my $HOME and accessing it via a symlink from that global directory would solve this issue.

I finally understood: the system-wide directory is called "build". I guess I never noticed/realised that because the actual source directories are several levels below that. 

Shouldn't the exclude filter apply only *under* the project directory, or more generally speaking under the selected directory? IOW, if I search in the *.cpp,*.h files in a (project) directory "kdevelop" I'd expect to get the same hits if that directory's full path is /usr/local/src/a/b/kdevelop/work/kdevelop-5  or /usr/local/build/a/b/kdevelop/work/kdevelop-5 . I would indeed NOT usually expect to find hits in /usr/local/*/a/b/kdevelop/work/kdevelop-5/build . Then again my build directory is usually "out-of-source" (/usr/local/build/a/b/kdevelop/work/build) .

Compare this with the inclusive filter: I do not get *.cpp or *.h files from above the search directory, so why would the exclusive filter consider paths above that?


More information about the KDevelop-devel mailing list