From b5a4d38022122c19744745ccc7ee32d1edfbeae3 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 29 Sep 2021 14:31:31 +0200 Subject: [PATCH] Git: Take Prepend to PATH into account again Task-number: QTCREATORBUG-26329 Change-Id: If4ac35cc95a47e4f82c6205ad24d8bdc69ddf1af Reviewed-by: Orgad Shaneh --- src/plugins/git/gitclient.cpp | 2 +- src/plugins/git/gitsettings.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index c1bbeec724c..d3e88b71d30 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -981,7 +981,7 @@ void GitClient::requestReload(const QString &documentId, const QString &source, QTC_ASSERT(document, return); GitBaseDiffEditorController *controller = factory(document); QTC_ASSERT(controller, return); - controller->setVcsBinary(settings().binaryPath.filePath()); + controller->setVcsBinary(settings().gitExecutable()); controller->setVcsTimeoutS(settings().timeout.value()); controller->setProcessEnvironment(processEnvironment()); controller->setWorkingDirectory(workingDirectory); diff --git a/src/plugins/git/gitsettings.cpp b/src/plugins/git/gitsettings.cpp index a8e4a97785c..bf431abe57e 100644 --- a/src/plugins/git/gitsettings.cpp +++ b/src/plugins/git/gitsettings.cpp @@ -25,6 +25,7 @@ #include "gitsettings.h" +#include #include #include @@ -140,6 +141,12 @@ FilePath GitSettings::gitExecutable(bool *ok, QString *errorMessage) const errorMessage->clear(); FilePath binPath = binaryPath.filePath(); + if (!binPath.isAbsolutePath()) { + FilePaths searchPath = binPath.deviceEnvironment().path(); + if (!path.filePath().isEmpty()) + searchPath.prepend(path.filePath()); + binPath = binPath.searchInPath(searchPath); + } if (binPath.isEmpty()) { if (ok) *ok = false;