Git: Remove readConfigBytes

Integrate that into readConfigValue and use that instead.

Change-Id: I47f860a49f1528ff1aa5f4dc645497034ab87d5b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2015-03-25 11:57:51 +01:00
parent 1bbc3f43e0
commit cb5886139e
2 changed files with 15 additions and 21 deletions

View File

@@ -2506,12 +2506,12 @@ FileName GitClient::gitExecutable(bool *ok, QString *errorMessage) const
QTextCodec *GitClient::encoding(const QString &workingDirectory, const QByteArray &configVar) const QTextCodec *GitClient::encoding(const QString &workingDirectory, const QByteArray &configVar) const
{ {
QByteArray codecName = readConfigBytes(workingDirectory, QLatin1String(configVar)).trimmed(); QString codecName = readConfigValue(workingDirectory, QLatin1String(configVar)).trimmed();
// Set default commit encoding to 'UTF-8', when it's not set, // Set default commit encoding to 'UTF-8', when it's not set,
// to solve displaying error of commit log with non-latin characters. // to solve displaying error of commit log with non-latin characters.
if (codecName.isEmpty()) if (codecName.isEmpty())
codecName = "UTF-8"; return QTextCodec::codecForName("UTF-8");
return QTextCodec::codecForName(codecName); return QTextCodec::codecForName(codecName.toUtf8());
} }
// returns first line from log and removes it // returns first line from log and removes it
@@ -3263,21 +3263,6 @@ bool GitClient::synchronousStashList(const QString &workingDirectory,
return true; return true;
} }
QByteArray GitClient::readConfigBytes(const QString &workingDirectory, const QString &configVar) const
{
QStringList arguments;
arguments << QLatin1String("config") << configVar;
QByteArray outputText;
QByteArray errorText;
if (!fullySynchronousGit(workingDirectory, arguments, &outputText, &errorText,
VcsBasePlugin::SuppressCommandLogging))
return QByteArray();
if (HostOsInfo::isWindowsHost())
outputText.replace("\r\n", "\n");
return outputText;
}
// Read a single-line config value, return trimmed // Read a single-line config value, return trimmed
QString GitClient::readConfigValue(const QString &workingDirectory, const QString &configVar) const QString GitClient::readConfigValue(const QString &workingDirectory, const QString &configVar) const
{ {
@@ -3286,8 +3271,18 @@ QString GitClient::readConfigValue(const QString &workingDirectory, const QStrin
static QTextCodec *codec = HostOsInfo::isWindowsHost() static QTextCodec *codec = HostOsInfo::isWindowsHost()
? QTextCodec::codecForName("UTF-8") ? QTextCodec::codecForName("UTF-8")
: QTextCodec::codecForLocale(); : QTextCodec::codecForLocale();
const QByteArray value = readConfigBytes(workingDirectory, configVar).trimmed(); QStringList arguments;
return SynchronousProcess::normalizeNewlines(codec->toUnicode(value)); arguments << QLatin1String("config") << configVar;
QByteArray outputText;
QByteArray errorText;
if (!fullySynchronousGit(workingDirectory, arguments, &outputText, &errorText,
VcsBasePlugin::SuppressCommandLogging))
return QString();
if (HostOsInfo::isWindowsHost())
outputText.replace("\r\n", "\n");
return SynchronousProcess::normalizeNewlines(codec->toUnicode(outputText));
} }
bool GitClient::cloneRepository(const QString &directory,const QByteArray &url) bool GitClient::cloneRepository(const QString &directory,const QByteArray &url)

View File

@@ -359,7 +359,6 @@ private slots:
private: private:
void stage(const QString &patch, bool revert); void stage(const QString &patch, bool revert);
QByteArray readConfigBytes(const QString &workingDirectory, const QString &configVar) const;
QTextCodec *getSourceCodec(const QString &file) const; QTextCodec *getSourceCodec(const QString &file) const;
VcsBase::VcsBaseEditorWidget *findExistingVCSEditor(const char *registerDynamicProperty, VcsBase::VcsBaseEditorWidget *findExistingVCSEditor(const char *registerDynamicProperty,
const QString &dynamicPropertyValue) const; const QString &dynamicPropertyValue) const;