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::ShowSuccessMessage);
connect(command, &VcsCommand::stdErrText, this, [this, command](const QString &text) {
PushFailure failure = Unknown;
if (text.contains("non-fast-forward"))
command->setCookie(NonFastForward);
failure = NonFastForward;
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);
for (const QString &line : lines) {
/* 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,
this, [this, command, workingDirectory, pushArgs](bool success) {
if (!success) {
switch (static_cast<PushFailure>(command->cookie().toInt())) {
connect(command, &VcsCommand::finished, this,
[this, workingDirectory, pushArgs](bool success, const QVariant &cookie) {
if (success) {
GitPlugin::updateCurrentBranch();
return;
}
switch (static_cast<PushFailure>(cookie.toInt())) {
case Unknown:
break;
case NonFastForward: {
@@ -3364,9 +3371,6 @@ void GitClient::push(const FilePath &workingDirectory, const QStringList &pushAr
}
break;
}
} else {
GitPlugin::updateCurrentBranch();
}
});
}

View File

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

View File

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