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