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
+
+
+