Git: Find correct topLevel

Task-number: QTCREATORBUG-6756

Change-Id: Iefaa8cb112f7da6e6eb76ec852f8f61abcd626ef
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
Orgad Shaneh
2011-12-29 23:22:28 +02:00
committed by Tobias Hunger
parent 553249261d
commit 6a17d889d4
3 changed files with 13 additions and 5 deletions

View File

@@ -361,9 +361,17 @@ const char *GitClient::decorateOption = "--decorate";
QString GitClient::findRepositoryForDirectory(const QString &dir)
{
// Check for ".git/config"
const QString checkFile = QLatin1String(GIT_DIRECTORY) + QLatin1String("/config");
return VcsBase::VcsBasePlugin::findRepositoryForDirectory(dir, checkFile);
if (synchronousGitVersion(true) >= 0x010700) {
QByteArray outputText;
QStringList arguments;
arguments << QLatin1String("rev-parse") << QLatin1String("--show-toplevel");
fullySynchronousGit(dir, arguments, &outputText, 0, false);
return outputText.trimmed();
} else {
// Check for ".git/config"
const QString checkFile = QLatin1String(GIT_DIRECTORY) + QLatin1String("/config");
return VcsBase::VcsBasePlugin::findRepositoryForDirectory(dir, checkFile);
}
}
VcsBase::VcsBaseEditorWidget *GitClient::findExistingVCSEditor(const char *registerDynamicProperty,