Commit messages follow the Go project style: 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. Add Fixes gio#nnn or Updates gio#nnn if the change fixes or updates an existing issue.

Contributors must agree to the developer certificate of origin, 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.

Patches should be sent to ~eliasnaur/gio-patches@lists.sr.ht mailing list with the git send-email command. See git-send-email.io for a thorough setup guide.

If you have a sourcehut account, you can also email a patch in a browser from the front page of your forked version of the Gio repository.

git send-email setup

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-patches@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"

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^