diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index a2ea37a78da..1a785622eeb 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -38,6 +38,7 @@ #include #include +#include #include #include #include @@ -167,12 +168,15 @@ static bool longerThanPath(QPair &pair1, QPair pair2.first.size(); } -IVersionControl* VcsManager::findVersionControlForDirectory(const QString &directory, +IVersionControl* VcsManager::findVersionControlForDirectory(const QString &inputDirectory, QString *topLevelDirectory) { - if (directory.isEmpty()) + if (inputDirectory.isEmpty()) return 0; + // Make sure we a clean absolute path: + const QString directory = QDir(inputDirectory).absolutePath(); + VcsManagerPrivate::VcsInfo *cachedData = m_d->findInCache(directory); if (cachedData) { if (topLevelDirectory)