Avoid potential regular locking up of Qt Creator whenever working on a

project that is not in git.

Backport of the non-intrusive parts of 5923733889
This commit is contained in:
con
2010-04-26 18:26:19 +02:00
parent 026237b008
commit f4055012f7
2 changed files with 1 additions and 16 deletions

View File

@@ -153,28 +153,14 @@ GitClient::~GitClient()
const char *GitClient::noColorOption = "--no-color";
QString GitClient::findRepositoryForFile(const QString &fileName)
{
const QString gitDirectory = QLatin1String(kGitDirectoryC);
const QFileInfo info(fileName);
QDir dir = info.absoluteDir();
do {
if (dir.entryList(QDir::AllDirs|QDir::Hidden).contains(gitDirectory))
return dir.absolutePath();
} while (dir.cdUp());
return QString();
}
QString GitClient::findRepositoryForDirectory(const QString &dir)
{
const QString gitDirectory = QLatin1String(kGitDirectoryC);
QDir directory(dir);
do {
if (directory.entryList(QDir::AllDirs|QDir::Hidden).contains(gitDirectory))
if (QFileInfo(directory, gitDirectory).isDir())
return directory.absolutePath();
} while (directory.cdUp());
return QString();
}

View File

@@ -75,7 +75,6 @@ public:
bool managesDirectory(const QString &) const { return false; }
QString findTopLevelForDirectory(const QString &) const { return QString(); }
static QString findRepositoryForFile(const QString &fileName);
static QString findRepositoryForDirectory(const QString &dir);
void diff(const QString &workingDirectory, const QStringList &diffArgs, const QString &fileName);