forked from qt-creator/qt-creator
Git: Fix instant blame text encoding
Fixes: QTCREATORBUG-28728 Change-Id: I875488badc84b664eaa1223b37657dcb417157de Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
committed by
André Hartmann
parent
b05ec7dc3c
commit
61fab0b736
@@ -1581,9 +1581,10 @@ void GitPluginPrivate::instantBlame()
|
|||||||
const CommitInfo info = parseBlameOutput(output.split('\n'), filePath, m_author);
|
const CommitInfo info = parseBlameOutput(output.split('\n'), filePath, m_author);
|
||||||
m_blameMark.reset(new BlameMark(filePath, line, info));
|
m_blameMark.reset(new BlameMark(filePath, line, info));
|
||||||
};
|
};
|
||||||
|
QTextCodec *codec = GitClient::instance()->encoding(workingDirectory, "i18n.commitEncoding");
|
||||||
GitClient::instance()->vcsExecWithHandler(workingDirectory,
|
GitClient::instance()->vcsExecWithHandler(workingDirectory,
|
||||||
{"blame", "-p", "-L", lineString, "--", filePath.toString()},
|
{"blame", "-p", "-L", lineString, "--", filePath.toString()},
|
||||||
this, commandHandler, RunFlags::NoOutput);
|
this, commandHandler, RunFlags::NoOutput, codec);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitPluginPrivate::stopInstantBlame()
|
void GitPluginPrivate::stopInstantBlame()
|
||||||
|
@@ -157,10 +157,11 @@ void VcsBaseClientImpl::vcsExecWithHandler(const FilePath &workingDirectory,
|
|||||||
const QStringList &arguments,
|
const QStringList &arguments,
|
||||||
const QObject *context,
|
const QObject *context,
|
||||||
const CommandHandler &handler,
|
const CommandHandler &handler,
|
||||||
RunFlags additionalFlags) const
|
RunFlags additionalFlags, QTextCodec *codec) const
|
||||||
{
|
{
|
||||||
VcsCommand *command = createCommand(workingDirectory);
|
VcsCommand *command = createCommand(workingDirectory);
|
||||||
command->addFlags(additionalFlags);
|
command->addFlags(additionalFlags);
|
||||||
|
command->setCodec(codec);
|
||||||
command->addJob({vcsBinary(), arguments}, vcsTimeoutS());
|
command->addJob({vcsBinary(), arguments}, vcsTimeoutS());
|
||||||
if (handler) {
|
if (handler) {
|
||||||
const QObject *actualContext = context ? context : this;
|
const QObject *actualContext = context ? context : this;
|
||||||
|
@@ -83,7 +83,8 @@ public:
|
|||||||
const QStringList &arguments,
|
const QStringList &arguments,
|
||||||
const QObject *context,
|
const QObject *context,
|
||||||
const CommandHandler &handler,
|
const CommandHandler &handler,
|
||||||
RunFlags additionalFlags = RunFlags::None) const;
|
RunFlags additionalFlags = RunFlags::None,
|
||||||
|
QTextCodec *codec = nullptr) const;
|
||||||
void vcsExec(const Utils::FilePath &workingDirectory,
|
void vcsExec(const Utils::FilePath &workingDirectory,
|
||||||
const QStringList &arguments,
|
const QStringList &arguments,
|
||||||
RunFlags additionalFlags = RunFlags::None) const;
|
RunFlags additionalFlags = RunFlags::None) const;
|
||||||
|
Reference in New Issue
Block a user