aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <[email protected]>2010-05-19 17:41:14 +0200
committerFriedemann Kleint <[email protected]>2010-05-19 17:41:14 +0200
commitb4b177fa27a084eef4e77df299987f9c90daab88 (patch)
tree5a5277e05368ea81fa477c3fc90a72ae30796cbb /src/plugins/git/gitclient.cpp
parent9af9c91f93fb118c4c54ed46c9bc58ce708012b5 (diff)
VCS[git/hg]: Prevent search for repository from creating folders
... when autofs is involved. Check for files instead of folders and stop checking/recursing up at '/' or $HOME. Further fixup will follow. Task-number: QTCREATORBUG-1361 Task-number: QTBUG-10495
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 8248d18d0d6..d613a604c8e 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -52,6 +52,7 @@
#include <utils/synchronousprocess.h>
#include <vcsbase/vcsbaseeditor.h>
#include <vcsbase/vcsbaseoutputwindow.h>
+#include <vcsbase/vcsbaseplugin.h>
#include <projectexplorer/environment.h>
@@ -155,13 +156,9 @@ const char *GitClient::noColorOption = "--no-color";
QString GitClient::findRepositoryForDirectory(const QString &dir)
{
- const QString gitDirectory = QLatin1String(kGitDirectoryC);
- QDir directory(dir);
- do {
- if (QFileInfo(directory, gitDirectory).isDir())
- return directory.absolutePath();
- } while (directory.cdUp());
- return QString();
+ // Check for ".git/config"
+ const QString checkFile = QLatin1String(kGitDirectoryC) + QLatin1String("/config");
+ return VCSBase::VCSBasePlugin::findRepositoryForDirectory(dir, checkFile);
}
/* Create an editor associated to VCS output of a source file/directory