summaryrefslogtreecommitdiff
path: root/src/plugins/vcsbase/vcsbaseplugin.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2021-07-29 17:54:14 +0200
committerhjk <hjk@qt.io>2021-07-30 06:24:41 +0000
commit56520c770cc0c652da538c8e5e8d6e5cb68d3161 (patch)
tree886559b600aa5629800b4669e36e6c949e4ada63 /src/plugins/vcsbase/vcsbaseplugin.cpp
parentedcedabed99849bd89022890b23a199ebb468ba5 (diff)
downloadqt-creator-56520c770cc0c652da538c8e5e8d6e5cb68d3161.tar.gz
Vcs: Replace findRepositoryForDirectory
By some function findRepositoryForFile operating on any file and using FilePath. Change-Id: I91b8aa38b1c6b33993b9b790fbc2ff4d378ad8a8 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/vcsbase/vcsbaseplugin.cpp')
-rw-r--r--src/plugins/vcsbase/vcsbaseplugin.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp
index ffa1e51ad1..16e7a2da60 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.cpp
+++ b/src/plugins/vcsbase/vcsbaseplugin.cpp
@@ -695,15 +695,16 @@ bool VcsBasePluginPrivate::raiseSubmitEditor() const
// AutoFS is used (due its automatically creating mountpoints when querying
// a directory). In addition, bail out when reaching the home directory
// of the user or root (generally avoid '/', where mountpoints are created).
-QString findRepositoryForDirectory(const QString &dirS, const QString &checkFile)
+FilePath findRepositoryForFile(const FilePath &fileOrDir, const QString &checkFile)
{
+ const FilePath dirS = fileOrDir.isDir() ? fileOrDir : fileOrDir.parentDir();
qCDebug(findRepoLog) << ">" << dirS << checkFile;
- QTC_ASSERT(!dirS.isEmpty() && !checkFile.isEmpty(), return QString());
+ QTC_ASSERT(!dirS.isEmpty() && !checkFile.isEmpty(), return {});
const QString root = QDir::rootPath();
const QString home = QDir::homePath();
- QDir directory(dirS);
+ QDir directory(dirS.toString());
do {
const QString absDirPath = directory.absolutePath();
if (absDirPath == root || absDirPath == home)
@@ -711,11 +712,11 @@ QString findRepositoryForDirectory(const QString &dirS, const QString &checkFile
if (QFileInfo(directory, checkFile).isFile()) {
qCDebug(findRepoLog) << "<" << absDirPath;
- return absDirPath;
+ return FilePath::fromString(absDirPath);
}
} while (!directory.isRoot() && directory.cdUp());
qCDebug(findRepoLog) << "< bailing out at" << directory.absolutePath();
- return QString();
+ return {};
}
// Is SSH prompt configured?