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