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:
Andre Hartmann
2023-01-30 11:46:32 +01:00
committed by André Hartmann
parent b05ec7dc3c
commit 61fab0b736
3 changed files with 6 additions and 3 deletions

View File

@@ -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()

View File

@@ -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;

View File

@@ -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;