Git: Avoid running wish if git/cmd is in PATH

It always fails and falls back to git/bin

Change-Id: I367ff33c864adebf438cbcc00332520ec6e0d454
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
Orgad Shaneh
2012-12-24 14:25:23 +02:00
committed by Orgad Shaneh
parent d08af15002
commit af1cc6831c

View File

@@ -1716,15 +1716,15 @@ bool GitClient::tryLauchingGitK(const QProcessEnvironment &env,
const QString &gitBinDirectory, const QString &gitBinDirectory,
bool silent) bool silent)
{ {
QString binary; QString binary = gitBinDirectory + QLatin1String("/gitk");
QStringList arguments; QStringList arguments;
if (Utils::HostOsInfo::isWindowsHost()) { if (Utils::HostOsInfo::isWindowsHost()) {
// Launch 'wish' shell from git binary directory with the gitk located there // If git/bin is in path, use 'wish' shell to run. Otherwise (git/cmd), directly run gitk
binary = gitBinDirectory + QLatin1String("/wish"); QString wish = gitBinDirectory + QLatin1String("/wish");
arguments << (gitBinDirectory + QLatin1String("/gitk")); if (QFileInfo(wish + QLatin1String(".exe")).exists()) {
} else { arguments << binary;
// Simple: Run gitk from binary path binary = wish;
binary = gitBinDirectory + QLatin1String("/gitk"); }
} }
VcsBase::VcsBaseOutputWindow *outwin = VcsBase::VcsBaseOutputWindow::instance(); VcsBase::VcsBaseOutputWindow *outwin = VcsBase::VcsBaseOutputWindow::instance();
const QString gitkOpts = settings()->stringValue(GitSettings::gitkOptionsKey); const QString gitkOpts = settings()->stringValue(GitSettings::gitkOptionsKey);