Tickbox for signed-off-by wiki commits
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=23462) </details> <!--IssueSummary end--> ### Problem to solve I am the maintainer of a libre licensed project with both code and wiki repositories hosted on a GitLab CE instance. I require DCO-style signed-off-by lines for commits (`git commit -s`). I want users to sign-off their wiki contributions as well, so that I get DCO benefits for the project wiki as well. (Similarly for a wiki-only project.) ### Further details This is a project-level requirement, so I imagine should be an option for the project owner to set/unset. Perhaps users would like to enable this at an account level - i.e. perform a sign-off action for all wikis they contribute to -- but that's a separate issue. ### Proposal * Under project settings, an option to "Add signed-off-by text to wiki contributions" * If disabled, creating / editing a wiki page is as normal * If enabled, when creating / editing a wiki page: * Under the commit message box, above the Submit button, a checkbox appears labelled "Sign-off contribution" * The submit button does not work unless the user has checked the checkbox. Note that this intentionally requires a manual action to perform the sign-off. ### What does success look like, and how can we measure that? The following steps should work as described: * Maintainer opens project settings * Maintainer ticks "Add signed-off-by text to wiki contributions" * User creates/edits a wiki page * User fails to check "Sign-off contribution" * User cannot submit changes * User checks "Sign-off contribution" * User submits changes successfully * Git log confirms that the wiki commit has a "signed-off-by" line * Maintainer opens project settings * Maintainer unticks "Add signed-off-by text to wiki contributions" * User creates/edits a wiki page * "Sign-off contribution" checkbox does not appear * User submits changes successfully Additional confirmation (might be worth a separate ticket): * Maintainer ticks "Add signed-off-by text to wiki contributions" * User downloads wiki via Git * User makes a commit without -s * User attempts to push changes back * Push fails because sign-off is missing * User fixes commits so that they are signed-off * User attempts to push changes back * Push succeeds ### Links / references > -s --signoff Add Signed-off-by line by the committer at the end of the commit log message. The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin (see http://developercertificate.org/ for more information). https://git-scm.com/docs/git-commit#git-commit--s
issue