diff options
author | Friedemann Kleint <[email protected]> | 2010-05-19 17:41:14 +0200 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2010-05-19 17:41:14 +0200 |
commit | b4b177fa27a084eef4e77df299987f9c90daab88 (patch) | |
tree | 5a5277e05368ea81fa477c3fc90a72ae30796cbb /src/plugins/git/gitclient.cpp | |
parent | 9af9c91f93fb118c4c54ed46c9bc58ce708012b5 (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.cpp | 11 |
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 |