diff --git a/src/plugins/git/commitdata.cpp b/src/plugins/git/commitdata.cpp index d48aeb4906d..26fecc0ee09 100644 --- a/src/plugins/git/commitdata.cpp +++ b/src/plugins/git/commitdata.cpp @@ -44,6 +44,7 @@ void GitSubmitEditorPanelData::clear() email.clear(); bypassHooks = false; pushAction = NoPush; + signOff = false; } QString GitSubmitEditorPanelData::authorString() const diff --git a/src/plugins/git/commitdata.h b/src/plugins/git/commitdata.h index 06eeedf3365..98e6fe9ca41 100644 --- a/src/plugins/git/commitdata.h +++ b/src/plugins/git/commitdata.h @@ -60,6 +60,7 @@ public: QString email; bool bypassHooks; PushAction pushAction; + bool signOff; }; enum FileState { diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 5a9dd5bc4ad..8cdb4db186f 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2529,6 +2529,8 @@ bool GitClient::addAndCommit(const QString &repositoryDirectory, arguments << "--author" << authorString; if (data.bypassHooks) arguments << "--no-verify"; + if (data.signOff) + arguments << "--signoff"; } const SynchronousProcessResponse resp = vcsFullySynchronousExec(repositoryDirectory, arguments); diff --git a/src/plugins/git/gitsubmiteditorwidget.cpp b/src/plugins/git/gitsubmiteditorwidget.cpp index 66e0b80b8de..bf2cdf745ce 100644 --- a/src/plugins/git/gitsubmiteditorwidget.cpp +++ b/src/plugins/git/gitsubmiteditorwidget.cpp @@ -137,6 +137,7 @@ GitSubmitEditorPanelData GitSubmitEditorWidget::panelData() const } rc.bypassHooks = m_gitSubmitPanelUi.bypassHooksCheckBox->isChecked(); rc.pushAction = m_pushAction; + rc.signOff = m_gitSubmitPanelUi.signOffCheckBox->isChecked(); return rc; } @@ -147,6 +148,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); + m_gitSubmitPanelUi.signOffCheckBox->setChecked(data.signOff); authorInformationChanged(); } diff --git a/src/plugins/git/gitsubmitpanel.ui b/src/plugins/git/gitsubmitpanel.ui index f4a05eabd6d..1e10e3282f0 100644 --- a/src/plugins/git/gitsubmitpanel.ui +++ b/src/plugins/git/gitsubmitpanel.ui @@ -7,7 +7,7 @@ 0 0 364 - 198 + 269 @@ -80,7 +80,7 @@ - 150 + 200 0 @@ -101,12 +101,9 @@ Qt::Horizontal - - QSizePolicy::MinimumExpanding - - 5 + 40 20 @@ -123,13 +120,13 @@ - 150 + 200 0 - + @@ -140,21 +137,35 @@ - - - - - - - - - - By&pass hooks: - - - bypassHooksCheckBox - - + + + + + By&pass hooks + + + + + + + &Sign off + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + +