ShellCommand: Introduce CommandResult structure

Don't require QtcProcess instance when calling
ShellCommand::runCommand().

Change-Id: Ie0287d91c1807465eab12be7eaa2eac561179af7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2022-07-29 14:41:15 +02:00
parent 278f33d521
commit 0a1ac481ed
13 changed files with 354 additions and 397 deletions

View File

@@ -51,12 +51,12 @@
#include <coreplugin/messagemanager.h>
#include <utils/algorithm.h>
#include <utils/commandline.h>
#include <utils/environment.h>
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
#include <utils/parameteraction.h>
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/shellcommand.h>
#include <utils/stringutils.h>
@@ -1019,16 +1019,14 @@ SubversionResponse SubversionPluginPrivate::runSvn(const FilePath &workingDir,
return response;
}
QtcProcess proc;
m_client->vcsFullySynchronousExec(proc, workingDir, arguments, flags,
m_settings.timeout.value() * defaultTimeoutMutiplier,
outputCodec);
const CommandResult result = m_client->vcsFullySynchronousExec(workingDir, arguments, flags,
m_settings.timeout.value() * defaultTimeoutMutiplier, outputCodec);
response.error = proc.result() != ProcessResult::FinishedWithSuccess;
response.error = result.result() != ProcessResult::FinishedWithSuccess;
if (response.error)
response.message = proc.exitMessage();
response.stdErr = proc.cleanedStdErr();
response.stdOut = proc.cleanedStdOut();
response.message = result.exitMessage();
response.stdErr = result.cleanedStdErr();
response.stdOut = result.cleanedStdOut();
return response;
}