@@ 0,0 1,57 @@
# Submitting a patchset
## Quick start for the familiar
git config sendemail.to '~firstname.lastname@example.org'`
git checkout -b my-cool-changes
git send-email master
## About patchsets
On sourcehut, rather than using merge requests, people contribute code
by emailing a patchset of their changes to a public mailing list.
A patchset is a set of changes in text form that can be applied as
commits to a git repository.
This article takes information from [https://git-send-email.io][gse], which
includes an interactive tutorial which allows you to practise sending
patchsets. If you'd like to practise, you should go there now and follow
the tutorial. Otherwise, keep reading this article to learn what you
need to do for CloudTube/NewLeaf specifically.
## Submitting a patchset
(You'll need to first configure git for email as described on
If you haven't yet, clone the repository that you want to edit.
- `git clone https://git.sr.ht/~cadence/cloudtube`
- `git clone https://git.sr.ht/~cadence/NewLeaf`
- `git clone https://git.sr.ht/~cadence/tube-docs`
Set the default email address: `git config sendemail.to '~email@example.com'`
Create a topic branch to work on: `git checkout -b my-cool-changes`
Make the changes you want to make using a text editor.
Add and commit your changes to the topic branch.
Email the patch to the mailing list: `git send-email master`
(`master` here represents which commits you want to send. Everything _after_ the specified revision will be sent, so `master` will send everything on your topic branch. You can also try `HEAD^` to send the latest commit, `HEAD^3` to send the latest 3, or `abcdef1` to send everything after a specific commit.)
If you're asked to make changes, it's okay to use `git commit --amend` and `git rebase` if you wish to, to make the history tidier. When you've made the changes, use `git send-email -v2 master`. If you have to go back for a third attempt, use `-v3`, and so on.
If you run into problems, you can ask for help [on matrix] or by composing an email to `~firstname.lastname@example.org`.
[on matrix]: https://matrix.to/#/#cloudtube:matrix.org