forked from qt-creator/qt-creator
Git: Enable skipping a commit on rebase
Change-Id: Ib83ca453c86b93cb359a2a0a9774c7d39533be4e Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
bf61858375
commit
c68adbf9c0
@@ -73,6 +73,7 @@
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
#include <QToolButton>
|
||||
#include <QTextCodec>
|
||||
|
||||
@@ -2163,16 +2164,23 @@ void GitClient::handleMergeConflicts(const QString &workingDir, const QString &c
|
||||
: tr("Conflicts detected with commit %1").arg(commit);
|
||||
QMessageBox mergeOrAbort(QMessageBox::Question, tr("Conflicts Detected"),
|
||||
message, QMessageBox::Ignore | QMessageBox::Abort);
|
||||
mergeOrAbort.addButton(tr("Run Merge Tool"), QMessageBox::ActionRole);
|
||||
QPushButton *mergeToolButton = mergeOrAbort.addButton(tr("Run &Merge Tool"),
|
||||
QMessageBox::ActionRole);
|
||||
if (abortCommand == QLatin1String("rebase"))
|
||||
mergeOrAbort.addButton(tr("&Skip"), QMessageBox::ActionRole);
|
||||
switch (mergeOrAbort.exec()) {
|
||||
case QMessageBox::Abort: {
|
||||
case QMessageBox::Abort:
|
||||
synchronousAbortCommand(workingDir, abortCommand);
|
||||
break;
|
||||
}
|
||||
case QMessageBox::Ignore:
|
||||
break;
|
||||
default: // Merge
|
||||
merge(workingDir);
|
||||
default: // Merge or Skip
|
||||
if (mergeOrAbort.clickedButton() == mergeToolButton) {
|
||||
merge(workingDir);
|
||||
} else {
|
||||
QStringList arguments = QStringList() << abortCommand << QLatin1String("--skip");
|
||||
executeAndHandleConflicts(workingDir, arguments, abortCommand);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user