aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/gitclient.cpp
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2025-07-08 13:17:50 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2025-07-09 08:54:44 +0000
commitba03639ec90e29990c02d0160eaea857bd137d44 (patch)
treec781a283fd935a4e5e516c1038c78b2eb3941637 /src/plugins/git/gitclient.cpp
parent366372b78a4b18f158f338285f281868e3e0f15d (diff)
Git: Reuse enqueueCommand in vcsExecAbortable()
Change-Id: I90068eb373e3a33015dd73f61e639b0ec8c5b5c3 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/git/gitclient.cpp')
-rw-r--r--src/plugins/git/gitclient.cpp24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 78631e81739..304ab7e9092 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -3400,23 +3400,17 @@ void GitClient::vcsExecAbortable(const FilePath &workingDirectory, const QString
bool isRebase, const QString &abortCommand,
const QObject *context, const CommandHandler &handler)
{
+ Q_UNUSED(context) // TODO: Remove arg
QTC_ASSERT(!arguments.isEmpty(), return);
const QString abortString = abortCommand.isEmpty() ? arguments.at(0) : abortCommand;
- VcsCommand *command = createCommand(workingDirectory);
- command->addFlags(RunFlags::ShowStdOut | RunFlags::ShowSuccessMessage);
- // For rebase, Git might request an editor (which means the process keeps running until the
- // user closes it), so run without timeout.
- command->addJob({vcsBinary(workingDirectory), arguments}, isRebase ? 0 : vcsTimeoutS());
- const QObject *actualContext = context ? context : this;
- connect(command, &VcsCommand::done, actualContext, [=] {
- const CommandResult result = CommandResult(*command);
- handleConflictResponse(result, workingDirectory, abortString);
- if (handler)
- handler(result);
- });
- if (isRebase)
- command->setProgressParser(GitProgressParser());
- command->start();
+ const ProgressParser progressParser = isRebase ? GitProgressParser() : ProgressParser();
+ enqueueCommand({workingDirectory, arguments, RunFlags::ShowStdOut | RunFlags::ShowSuccessMessage,
+ progressParser, {},
+ [workingDirectory, abortString, handler](const CommandResult &result) {
+ handleConflictResponse(result, workingDirectory, abortString);
+ if (handler)
+ handler(result);
+ }});
}
bool GitClient::synchronousRevert(const FilePath &workingDirectory, const QString &commit)