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"; 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) QString GitClient::findRepositoryForDirectory(const QString &dir)
{ {
const QString gitDirectory = QLatin1String(kGitDirectoryC); const QString gitDirectory = QLatin1String(kGitDirectoryC);
QDir directory(dir); QDir directory(dir);
do { do {
if (directory.entryList(QDir::AllDirs|QDir::Hidden).contains(gitDirectory)) if (QFileInfo(directory, gitDirectory).isDir())
return directory.absolutePath(); return directory.absolutePath();
} while (directory.cdUp()); } while (directory.cdUp());
return QString(); return QString();
} }

View File

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