From 7a40a7bb0e9c5d622ac2cf36117388dede5f3cc3 Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@nokia.com> Date: Tue, 28 Sep 2010 12:55:35 +0200 Subject: [PATCH] Git: Do not require the path to be set in the config Fix regression where creator was no longer able to run git if the PATH was not explicitly set in the configuration. Task-number: QTCREATORBUG-2478 Reviewed-by: Robert Loehning --- src/plugins/git/gitsettings.cpp | 9 +++++---- src/plugins/git/gitsettings.h | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/git/gitsettings.cpp b/src/plugins/git/gitsettings.cpp index 2a0110f23dc..b860ce8790d 100644 --- a/src/plugins/git/gitsettings.cpp +++ b/src/plugins/git/gitsettings.cpp @@ -128,11 +128,12 @@ QString GitSettings::gitBinaryPath(bool *ok, QString *errorMessage) const if (errorMessage) errorMessage->clear(); const QString binary = QLatin1String(Constants::GIT_BINARY); + QString currentPath = path; // Easy, git is assumed to be elsewhere accessible if (!adoptPath) - return binary; + currentPath = QString::fromLocal8Bit(qgetenv("PATH")); // Search in path? - const QString pathBinary = Utils::SynchronousProcess::locateBinary(path, binary); + const QString pathBinary = Utils::SynchronousProcess::locateBinary(currentPath, binary); if (pathBinary.isEmpty()) { if (ok) *ok = false; @@ -144,5 +145,5 @@ QString GitSettings::gitBinaryPath(bool *ok, QString *errorMessage) const return pathBinary; } -} -} +} // namespace Internal +} // namespace Git diff --git a/src/plugins/git/gitsettings.h b/src/plugins/git/gitsettings.h index 0c73c454766..81cd280c6fe 100644 --- a/src/plugins/git/gitsettings.h +++ b/src/plugins/git/gitsettings.h @@ -47,6 +47,7 @@ struct GitSettings void fromSettings(QSettings *); void toSettings(QSettings *) const; + /** Return the full path to the git executable */ QString gitBinaryPath(bool *ok = 0, QString *errorMessage = 0) const; bool equals(const GitSettings &s) const; -- GitLab