Tickbox for signed-off-by wiki commits
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
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).