diff options
| author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2025-07-08 13:17:50 +0200 |
|---|---|---|
| committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2025-07-09 08:54:44 +0000 |
| commit | ba03639ec90e29990c02d0160eaea857bd137d44 (patch) | |
| tree | c781a283fd935a4e5e516c1038c78b2eb3941637 /src/plugins/git/gitclient.cpp | |
| parent | 366372b78a4b18f158f338285f281868e3e0f15d (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.cpp | 24 |
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) |
