diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp index dc485e1410f8d7753fc593227ffa35e9830908d9..b18e9c6e53056ce90892c8baeea54c4743fad347 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 1d469ff7cce5d4d0824c0502575e0c37ad972a92..7795dd720fe14413b7919d63c8e137a3433ea42d 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 944679aa8ecbd7732494df32af4066a086e8f5f9..e7804f3bdfad9fcbfcd8af0584dcce1729f44c65 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 b3e782698e075c414dee6330a2f595d130063f15..36a1087fec61c25f257f97f47f70e312d5a48916 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 c790299aa11cd9ed1e74495d87893dacd34067d4..7830c490d8938aba908bffbc79f04eea997dca23 100644 --- a/src/plugins/git/gitsubmitpanel.ui +++ b/src/plugins/git/gitsubmitpanel.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>364</width> - <height>172</height> + <height>177</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> @@ -60,23 +60,6 @@ <string>Commit Information</string> </property> <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="authorLabel"> - <property name="text"> - <string>Author:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="authorLineEdit"> - <property name="minimumSize"> - <size> - <width>150</width> - <height>0</height> - </size> - </property> - </widget> - </item> <item row="0" column="2"> <widget class="QLabel" name="invalidAuthorLabel"> <property name="minimumSize"> @@ -93,22 +76,6 @@ </property> </widget> </item> - <item row="0" column="3"> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::MinimumExpanding</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>5</width> - <height>20</height> - </size> - </property> - </spacer> - </item> <item row="1" column="0"> <widget class="QLabel" name="emailLabel"> <property name="text"> @@ -142,6 +109,46 @@ </property> </widget> </item> + <item row="0" column="0"> + <widget class="QLabel" name="authorLabel"> + <property name="text"> + <string>Author:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="authorLineEdit"> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="0" column="3"> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType"> + <enum>QSizePolicy::MinimumExpanding</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="2" column="0"> + <widget class="QCheckBox" name="bypassHooksCheckBox"> + <property name="text"> + <string>By&pass hooks</string> + </property> + </widget> + </item> </layout> </widget> </item>