VcsCommand: Remove cookie() method

Change-Id: I2f83e141b05100c84c140d15a131e06ee62c6f68
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2022-08-01 18:56:27 +02:00
parent 83739bde38
commit 0de4e9092f
3 changed files with 58 additions and 60 deletions

View File

@@ -3294,12 +3294,16 @@ void GitClient::push(const FilePath &workingDirectory, const QStringList &pushAr
VcsCommand *command = vcsExec(workingDirectory, QStringList({"push"}) + pushArgs, nullptr, true, VcsCommand *command = vcsExec(workingDirectory, QStringList({"push"}) + pushArgs, nullptr, true,
VcsCommand::ShowSuccessMessage); VcsCommand::ShowSuccessMessage);
connect(command, &VcsCommand::stdErrText, this, [this, command](const QString &text) { connect(command, &VcsCommand::stdErrText, this, [this, command](const QString &text) {
PushFailure failure = Unknown;
if (text.contains("non-fast-forward")) if (text.contains("non-fast-forward"))
command->setCookie(NonFastForward); failure = NonFastForward;
else if (text.contains("has no upstream branch")) else if (text.contains("has no upstream branch"))
command->setCookie(NoRemoteBranch); failure = NoRemoteBranch;
if (command->cookie().toInt() == NoRemoteBranch) { if (failure != Unknown)
command->setCookie(failure);
if (failure == NoRemoteBranch) {
const QStringList lines = text.split('\n', Qt::SkipEmptyParts); const QStringList lines = text.split('\n', Qt::SkipEmptyParts);
for (const QString &line : lines) { for (const QString &line : lines) {
/* Extract the suggested command from the git output which /* Extract the suggested command from the git output which
@@ -3315,10 +3319,13 @@ void GitClient::push(const FilePath &workingDirectory, const QStringList &pushAr
} }
} }
}); });
connect(command, &VcsCommand::finished, connect(command, &VcsCommand::finished, this,
this, [this, command, workingDirectory, pushArgs](bool success) { [this, workingDirectory, pushArgs](bool success, const QVariant &cookie) {
if (!success) { if (success) {
switch (static_cast<PushFailure>(command->cookie().toInt())) { GitPlugin::updateCurrentBranch();
return;
}
switch (static_cast<PushFailure>(cookie.toInt())) {
case Unknown: case Unknown:
break; break;
case NonFastForward: { case NonFastForward: {
@@ -3364,9 +3371,6 @@ void GitClient::push(const FilePath &workingDirectory, const QStringList &pushAr
} }
break; break;
} }
} else {
GitPlugin::updateCurrentBranch();
}
}); });
} }

View File

@@ -325,7 +325,7 @@ void VcsCommand::run(QFutureInterface<void> &future)
GlobalFileChangeBlocker::instance()->forceBlocked(false); GlobalFileChangeBlocker::instance()->forceBlocked(false);
}); });
} }
emit finished(lastExecSuccess, cookie()); emit finished(lastExecSuccess, d->m_cookie);
if (lastExecSuccess) if (lastExecSuccess)
future.setProgressValue(future.progressMaximum()); future.setProgressValue(future.progressMaximum());
else else
@@ -440,11 +440,6 @@ void VcsCommand::runSynchronous(QtcProcess &process)
process.runBlocking(EventLoopMode::On); process.runBlocking(EventLoopMode::On);
} }
const QVariant &VcsCommand::cookie() const
{
return d->m_cookie;
}
void VcsCommand::setCookie(const QVariant &cookie) void VcsCommand::setCookie(const QVariant &cookie)
{ {
d->m_cookie = cookie; d->m_cookie = cookie;

View File

@@ -140,7 +140,6 @@ public:
void addFlags(unsigned f); void addFlags(unsigned f);
const QVariant &cookie() const;
void setCookie(const QVariant &cookie); void setCookie(const QVariant &cookie);
void setCodec(QTextCodec *codec); void setCodec(QTextCodec *codec);