diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 0c3c245eb1f33e187521034c5c07bf1806da9f16..aa4e2b48db389335b46c1ac96774cfc63fe61152 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -3046,6 +3046,15 @@ bool GitClient::getCommitData(const QString &workingDirectory, } commitData.enablePush = !synchronousRemotesList(repoDirectory).isEmpty(); + if (commitData.enablePush) { + switch (checkCommandInProgress(repoDirectory)) { + case GitClient::Rebase: + case GitClient::RebaseMerge: + commitData.enablePush = false; + break; + } + } + return true; } diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 7d0f918c744de7cf389a24373af45b442011c07e..ab195cde664dcaaea696897e30a3bc259a6784f9 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -1111,25 +1111,22 @@ bool GitPlugin::submitEditorAboutToClose() commitType, amendSHA1, m_commitMessageFileName, model); } - if (closeEditor) { - cleanCommitMessageFile(); - if (commitType == FixupCommit) { - if (!m_gitClient->beginStashScope(m_submitRepository, QLatin1String("Rebase-fixup"), NoPrompt)) - return false; - m_gitClient->interactiveRebase(m_submitRepository, amendSHA1, true); - } else { - m_gitClient->continueCommandIfNeeded(m_submitRepository); - } - } - - if (m_gitClient->checkCommandInProgress(m_submitRepository) == GitClient::NoCommand) { + if (!closeEditor) + return false; + cleanCommitMessageFile(); + if (commitType == FixupCommit) { + if (!m_gitClient->beginStashScope(m_submitRepository, QLatin1String("Rebase-fixup"), NoPrompt)) + return false; + m_gitClient->interactiveRebase(m_submitRepository, amendSHA1, true); + } else { + m_gitClient->continueCommandIfNeeded(m_submitRepository); if (editor->panelData().pushAction == NormalPush) m_gitClient->push(m_submitRepository); else if (editor->panelData().pushAction == PushToGerrit) connect(editor, SIGNAL(destroyed()), this, SLOT(delayedPushToGerrit())); } - return closeEditor; + return true; } void GitPlugin::fetch()