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
{
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,
// to solve displaying error of commit log with non-latin characters.
if (codecName.isEmpty())
codecName = "UTF-8";
return QTextCodec::codecForName(codecName);
return QTextCodec::codecForName("UTF-8");
return QTextCodec::codecForName(codecName.toUtf8());
}
// returns first line from log and removes it
@@ -3263,21 +3263,6 @@ bool GitClient::synchronousStashList(const QString &workingDirectory,
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
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()
? QTextCodec::codecForName("UTF-8")
: QTextCodec::codecForLocale();
const QByteArray value = readConfigBytes(workingDirectory, configVar).trimmed();
return SynchronousProcess::normalizeNewlines(codec->toUnicode(value));
QStringList arguments;
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)

View File

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