git config sendemail.to '~email@example.com'` git checkout -b my-cool-changes $EDITOR git send-email master
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, 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.
(You'll need to first configure git for email as described on git-send-email.io.)
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 '~firstname.lastname@example.org'
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