diff --git a/plugins/fossil/fossilclient.cpp b/plugins/fossil/fossilclient.cpp index afdfcea09d6..b9bda2f8b41 100644 --- a/plugins/fossil/fossilclient.cpp +++ b/plugins/fossil/fossilclient.cpp @@ -847,12 +847,9 @@ bool FossilClient::isVcsFileOrDirectory(const FilePath &filePath) const HostOsInfo::fileNameCaseSensitivity()); } -QString FossilClient::findTopLevelForFile(const QFileInfo &file) const +FilePath FossilClient::findTopLevelForFile(const FilePath &file) const { - const QString repositoryCheckFile = Constants::FOSSILREPO; - return file.isDir() ? - VcsBase::findRepositoryForDirectory(file.absoluteFilePath(), repositoryCheckFile) : - VcsBase::findRepositoryForDirectory(file.absolutePath(), repositoryCheckFile); + return VcsBase::findRepositoryForFile(file, Constants::FOSSILREPO); } bool FossilClient::managesFile(const QString &workingDirectory, const QString &fileName) const diff --git a/plugins/fossil/fossilclient.h b/plugins/fossil/fossilclient.h index 75618932fa5..99b7e3ad738 100644 --- a/plugins/fossil/fossilclient.h +++ b/plugins/fossil/fossilclient.h @@ -109,7 +109,7 @@ public: void revertAll(const QString &workingDir, const QString &revision = QString(), const QStringList &extraOptions = QStringList()) final; bool isVcsFileOrDirectory(const Utils::FilePath &filePath) const; - QString findTopLevelForFile(const QFileInfo &file) const final; + Utils::FilePath findTopLevelForFile(const Utils::FilePath &file) const final; bool managesFile(const QString &workingDirectory, const QString &fileName) const; unsigned int binaryVersion() const; QString binaryVersionString() const; diff --git a/plugins/fossil/fossilplugin.cpp b/plugins/fossil/fossilplugin.cpp index 1877bd257d2..14e10aa5da9 100644 --- a/plugins/fossil/fossilplugin.cpp +++ b/plugins/fossil/fossilplugin.cpp @@ -165,7 +165,7 @@ public: void vcsDescribe(const FilePath &source, const QString &id) final; Core::ShellCommand *createInitialCheckoutCommand(const QString &url, - const FilePath &baseDirectory, + const Utils::FilePath &baseDirectory, const QString &localName, const QStringList &extraArgs) final; @@ -907,10 +907,9 @@ bool FossilPluginPrivate::isVcsFileOrDirectory(const FilePath &filePath) const bool FossilPluginPrivate::managesDirectory(const FilePath &directory, FilePath *topLevel) const { - QFileInfo dir(directory.toString()); - const QString topLevelFound = m_client.findTopLevelForFile(dir); + const FilePath topLevelFound = m_client.findTopLevelForFile(directory); if (topLevel) - *topLevel = FilePath::fromString(topLevelFound); + *topLevel = topLevelFound; return !topLevelFound.isEmpty(); }