From f777930a3035df5b61098da4752e00df30126c99 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 19 Aug 2012 13:20:26 +0300 Subject: [PATCH] ClearCase: Avoid running cleartool if it is not available Also change isConfigured to use a plain QFileInfo like other VCS Change-Id: I253d9a7d356a042dbc6c15236d77799b794f29d4 Reviewed-by: Tobias Hunger --- src/plugins/clearcase/clearcasecontrol.cpp | 6 +++++- src/plugins/clearcase/clearcaseplugin.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/clearcase/clearcasecontrol.cpp b/src/plugins/clearcase/clearcasecontrol.cpp index f0526045771..7c055f118da 100644 --- a/src/plugins/clearcase/clearcasecontrol.cpp +++ b/src/plugins/clearcase/clearcasecontrol.cpp @@ -59,7 +59,11 @@ Core::Id ClearCaseControl::id() const bool ClearCaseControl::isConfigured() const { - return !Utils::SynchronousProcess::locateBinary(m_plugin->settings().ccCommand).isEmpty(); + const QString binary = m_plugin->settings().ccBinaryPath; + if (binary.isEmpty()) + return false; + QFileInfo fi(binary); + return fi.exists() && fi.isFile() && fi.isExecutable(); } bool ClearCaseControl::supportsOperation(Operation operation) const diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index 4de02b43b06..8d1c5366b88 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -212,7 +212,7 @@ QString ClearCasePlugin::findTopLevel(const QString &directory) const // Snapshot view QString topLevel = findRepositoryForDirectory(directory, QLatin1String(ClearCase::Constants::CLEARCASE_ROOT_FILE)); - if (!topLevel.isEmpty()) + if (!topLevel.isEmpty() || !clearCaseControl()->isConfigured()) return topLevel; // Dynamic view bool isDynamic;