forked from qt-creator/qt-creator
Git: Support gitfile on commit
Change-Id: Ia2b8c7705129937a60585d881e1fbfa7815d858f Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
This commit is contained in:
committed by
Tobias Hunger
parent
8b0844d032
commit
69eeb94b7e
@@ -390,6 +390,15 @@ QString GitClient::findRepositoryForDirectory(const QString &dir)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString GitClient::findGitDirForRepository(const QString &repositoryDir)
|
||||||
|
{
|
||||||
|
QByteArray outputText;
|
||||||
|
QStringList arguments;
|
||||||
|
arguments << QLatin1String("rev-parse") << QLatin1String("--git-dir");
|
||||||
|
fullySynchronousGit(repositoryDir, arguments, &outputText, 0, false);
|
||||||
|
return QString::fromLocal8Bit(outputText.trimmed());
|
||||||
|
}
|
||||||
|
|
||||||
VcsBase::VcsBaseEditorWidget *GitClient::findExistingVCSEditor(const char *registerDynamicProperty,
|
VcsBase::VcsBaseEditorWidget *GitClient::findExistingVCSEditor(const char *registerDynamicProperty,
|
||||||
const QString &dynamicPropertyValue) const
|
const QString &dynamicPropertyValue) const
|
||||||
{
|
{
|
||||||
@@ -1712,14 +1721,14 @@ bool GitClient::getCommitData(const QString &workingDirectory,
|
|||||||
|
|
||||||
commitData->panelInfo.repository = repoDirectory;
|
commitData->panelInfo.repository = repoDirectory;
|
||||||
|
|
||||||
QDir gitDir(repoDirectory);
|
QString gitDir = GitClient::findGitDirForRepository(repoDirectory);
|
||||||
if (!gitDir.cd(QLatin1String(GIT_DIRECTORY))) {
|
if (gitDir.isEmpty()) {
|
||||||
*errorMessage = tr("The repository \"%1\" is not initialized.").arg(repoDirectory);
|
*errorMessage = tr("The repository \"%1\" is not initialized.").arg(repoDirectory);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read description
|
// Read description
|
||||||
const QString descriptionFile = gitDir.absoluteFilePath(QLatin1String("description"));
|
const QString descriptionFile = QDir(gitDir).absoluteFilePath(QLatin1String("description"));
|
||||||
if (QFileInfo(descriptionFile).isFile()) {
|
if (QFileInfo(descriptionFile).isFile()) {
|
||||||
Utils::FileReader reader;
|
Utils::FileReader reader;
|
||||||
if (!reader.fetch(descriptionFile, QIODevice::Text, errorMessage))
|
if (!reader.fetch(descriptionFile, QIODevice::Text, errorMessage))
|
||||||
@@ -1798,7 +1807,7 @@ bool GitClient::getCommitData(const QString &workingDirectory,
|
|||||||
commitData->panelData.author = readConfigValue(workingDirectory, QLatin1String("user.name"));
|
commitData->panelData.author = readConfigValue(workingDirectory, QLatin1String("user.name"));
|
||||||
commitData->panelData.email = readConfigValue(workingDirectory, QLatin1String("user.email"));
|
commitData->panelData.email = readConfigValue(workingDirectory, QLatin1String("user.email"));
|
||||||
// Commit: Get the commit template
|
// Commit: Get the commit template
|
||||||
QString templateFilename = gitDir.absoluteFilePath(QLatin1String("MERGE_MSG"));
|
QString templateFilename = QDir(gitDir).absoluteFilePath(QLatin1String("MERGE_MSG"));
|
||||||
if (!QFileInfo(templateFilename).isFile())
|
if (!QFileInfo(templateFilename).isFile())
|
||||||
templateFilename = readConfigValue(workingDirectory, QLatin1String("commit.template"));
|
templateFilename = readConfigValue(workingDirectory, QLatin1String("commit.template"));
|
||||||
if (!templateFilename.isEmpty()) {
|
if (!templateFilename.isEmpty()) {
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ public:
|
|||||||
unsigned gitVersion(QString *errorMessage = 0) const;
|
unsigned gitVersion(QString *errorMessage = 0) const;
|
||||||
|
|
||||||
QString findRepositoryForDirectory(const QString &dir);
|
QString findRepositoryForDirectory(const QString &dir);
|
||||||
|
QString findGitDirForRepository(const QString &repositoryDir);
|
||||||
|
|
||||||
void diff(const QString &workingDirectory, const QStringList &diffArgs, const QString &fileName);
|
void diff(const QString &workingDirectory, const QStringList &diffArgs, const QString &fileName);
|
||||||
void diff(const QString &workingDirectory, const QStringList &diffArgs,
|
void diff(const QString &workingDirectory, const QStringList &diffArgs,
|
||||||
|
|||||||
Reference in New Issue
Block a user