From d2160e8b4f267e176c6f64bea58c6bfcb794764f Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 11 Oct 2022 16:11:35 +0300 Subject: [PATCH] Git: Fix adding existing files in nested directories Amends 48c56416f5e128c04f2d2d867b518775e0527607. Fixes: QTCREATORBUG-27644 Change-Id: I4ef58c017e4fcf8fa48905f7e0b649433b3cac0f Reviewed-by: Jarek Kobus --- src/plugins/git/gitclient.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index fdc1c9a6251..3dd289654fb 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -916,11 +916,12 @@ FilePaths GitClient::unmanagedFiles(const FilePaths &filePaths) const const CommandResult result = vcsSynchronousExec(it.key(), args, RunFlags::NoOutput); if (result.result() != ProcessResult::FinishedWithSuccess) return filePaths; - const QStringList managedFilePaths - = transform(result.cleanedStdOut().split('\0', Qt::SkipEmptyParts), - [&wd](const QString &fp) { return wd.absoluteFilePath(fp); }); - const QStringList filtered = Utils::filtered(it.value(), [&managedFilePaths, &wd](const QString &fp) { - return !managedFilePaths.contains(wd.absoluteFilePath(fp)); + const auto toAbs = [&wd](const QString &fp) { return wd.absoluteFilePath(fp); }; + const QStringList managedFilePaths = + Utils::transform(result.cleanedStdOut().split('\0', Qt::SkipEmptyParts), toAbs); + const QStringList absPaths = Utils::transform(it.value(), toAbs); + const QStringList filtered = Utils::filtered(absPaths, [&managedFilePaths](const QString &fp) { + return !managedFilePaths.contains(fp); }); res += FileUtils::toFilePathList(filtered); }