ref: wiki gio/contribute.md -rw-r--r-- 1.6 KiB View raw
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
title: contributing
---

Commit messages follow [the Go project style](https://golang.org/doc/contribute.html#commit_messages):
the first line is prefixed with the package and a short summary. The rest of the message provides context
for the change and what it does. See
[an example](https://git.sr.ht/~eliasnaur/gio/commit/abb9d291e954f3b80384046d7d4487e1ead6bd6a).
Add `Fixes ~eliasnaur/gio#nnn` or `Updates ~eliasnaur/gio#nnn` if the change fixes or updates an existing
issue.

The `git send-email` command is a convenient way to send patches to the mailing list. See
[git-send-email.io](https://git-send-email.io) for a thorough setup guide.

With `git send-email` configured, you can clone the project and set it up for submitting your changes:

    $ git clone https://git.sr.ht/~eliasnaur/gio
    $ cd gio
    $ git config sendemail.to '~eliasnaur/gio@lists.sr.ht'
    $ git config sendemail.annotate yes

Configure your name and email address if you have not done so already:

    $ git config --global user.email "you@example.com"
    $ git config --global user.name "Your Name"

Contributors must agree to the [developer certificate of origin](https://developercertificate.org/),
to ensure their work is compatible with the MIT and the UNLICENSE. Sign your commits with Signed-off-by
statements to show your agreement. The `git commit --signoff` (or `-s`) command signs a commit with
your name and email address.

Whenever you want to submit your work for review, use `git send-email` with the base revision of your
changes. For example, to submit the most recent commit use

    $ git send-email HEAD^