forked from qt-creator/qt-creator
Git: Start interactive rebase in topLevel
Change-Id: I99edfed36b12942e64ee1947a46eddd1ca08b9ba Reviewed-by: Petar Perisin <petar.perisin@gmail.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
2ee83d4c9e
commit
63cf15b180
@@ -788,17 +788,19 @@ void GitPlugin::resetRepository()
|
||||
|
||||
void GitPlugin::startRebase()
|
||||
{
|
||||
QString workingDirectory = currentState().currentDirectoryOrTopLevel();
|
||||
if (workingDirectory.isEmpty() || !m_gitClient->canRebase(workingDirectory))
|
||||
const VcsBase::VcsBasePluginState state = currentState();
|
||||
QTC_ASSERT(state.hasTopLevel(), return);
|
||||
const QString topLevel = state.topLevel();
|
||||
if (topLevel.isEmpty() || !m_gitClient->canRebase(topLevel))
|
||||
return;
|
||||
if (!m_gitClient->beginStashScope(workingDirectory, QLatin1String("Rebase-i")))
|
||||
if (!m_gitClient->beginStashScope(topLevel, QLatin1String("Rebase-i")))
|
||||
return;
|
||||
LogChangeDialog dialog(false);
|
||||
dialog.setWindowTitle(tr("Interactive Rebase"));
|
||||
if (dialog.runDialog(workingDirectory, QString(), false))
|
||||
m_gitClient->interactiveRebase(workingDirectory, dialog.commit(), false);
|
||||
if (dialog.runDialog(topLevel, QString(), false))
|
||||
m_gitClient->interactiveRebase(topLevel, dialog.commit(), false);
|
||||
else
|
||||
m_gitClient->endStashScope(workingDirectory);
|
||||
m_gitClient->endStashScope(topLevel);
|
||||
}
|
||||
|
||||
void GitPlugin::startChangeRelatedAction()
|
||||
|
Reference in New Issue
Block a user