diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp index dc485e1410f..b18e9c6e530 100644 --- a/src/plugins/git/commitdata.cpp +++ b/src/plugins/git/commitdata.cpp @@ -58,6 +58,7 @@ void GitSubmitEditorPanelData::clear() { author.clear(); email.clear(); + bypassHooks = false; } QString GitSubmitEditorPanelData::authorString() const @@ -76,7 +77,8 @@ QString GitSubmitEditorPanelData::authorString() const QDebug operator<<(QDebug d, const GitSubmitEditorPanelData &data) { - d.nospace() << " author:" << data.author << " email: " << data.email; + d.nospace() << " author:" << data.author << " email: " << data.email + << " bypass hooks: " << data.bypassHooks; return d; } diff --git a/src/plugins/git/commitdata.h b/src/plugins/git/commitdata.h index 1d469ff7cce..7795dd720fe 100644 --- a/src/plugins/git/commitdata.h +++ b/src/plugins/git/commitdata.h @@ -62,6 +62,7 @@ struct GitSubmitEditorPanelData QString author; QString email; + bool bypassHooks; }; QDebug operator<<(QDebug d, const GitSubmitEditorPanelData &); diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 944679aa8ec..e7804f3bdfa 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -1874,6 +1874,8 @@ bool GitClient::addAndCommit(const QString &repositoryDirectory, const QString &authorString = data.authorString(); if (!authorString.isEmpty()) args << QLatin1String("--author") << authorString; + if (data.bypassHooks) + args << QLatin1String("--no-verify"); QByteArray outputText; QByteArray errorText; diff --git a/src/plugins/git/gitsubmiteditorwidget.cpp b/src/plugins/git/gitsubmiteditorwidget.cpp index b3e782698e0..36a1087fec6 100644 --- a/src/plugins/git/gitsubmiteditorwidget.cpp +++ b/src/plugins/git/gitsubmiteditorwidget.cpp @@ -143,6 +143,7 @@ GitSubmitEditorPanelData GitSubmitEditorWidget::panelData() const GitSubmitEditorPanelData rc; rc.author = m_gitSubmitPanelUi.authorLineEdit->text(); rc.email = m_gitSubmitPanelUi.emailLineEdit->text(); + rc.bypassHooks = m_gitSubmitPanelUi.bypassHooksCheckBox->isChecked(); return rc; } @@ -150,6 +151,7 @@ void GitSubmitEditorWidget::setPanelData(const GitSubmitEditorPanelData &data) { m_gitSubmitPanelUi.authorLineEdit->setText(data.author); m_gitSubmitPanelUi.emailLineEdit->setText(data.email); + m_gitSubmitPanelUi.bypassHooksCheckBox->setChecked(data.bypassHooks); authorInformationChanged(); } diff --git a/src/plugins/git/gitsubmitpanel.ui b/src/plugins/git/gitsubmitpanel.ui index c790299aa11..7830c490d89 100644 --- a/src/plugins/git/gitsubmitpanel.ui +++ b/src/plugins/git/gitsubmitpanel.ui @@ -7,7 +7,7 @@ 0 0 364 - 172 + 177 @@ -60,23 +60,6 @@ Commit Information - - - - Author: - - - - - - - - 150 - 0 - - - - @@ -93,22 +76,6 @@ - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 5 - 20 - - - - @@ -142,6 +109,46 @@ + + + + Author: + + + + + + + + 150 + 0 + + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 5 + 20 + + + + + + + + By&pass hooks + + +